VS中C#读取app.config数据库配置字符串的三种方法
关于vs2008或vs2005中数据库配置字符串的三种取法
vs2008建立form程序时,如果添加数据源会在配置文件 app.config中自动写入连接字符串,这个字符串将会在你利用dataset,sqldataaparter,sqlconnection等控件时如影随行地提示你让去选择,或者是新建字符串。如果要用代码的方式取得这个字符串则有三种方式:
app.config内容:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configsections> </configsections> <appsettings> <add key="connectionstring" value="data source=你的数据库器(本机可用localhost,如果是express开发版则必须是.\sqlexpress);initial catalog=数据库名字;user id=用户名;password=你自己的密码 /> <add key="templatepath" value="template" /> </appsettings> <connectionstrings> <add name="sxzzmanager.properties.settings.sxzzconnectionstring" connectionstring="data source=你的数据库器;initial catalog=数据库名字;user id=sa;password=你自己的密码" providername="system.data.sqlclient" /> <add name="testconnectionstring" connectionstring="data source=你的数据库器;initial catalog=数据库名字;user id=sa;password=你自己的密码" providername="system.data.sqlclient" /> </connectionstrings> </configuration>
说明:
其中
《1》
<appsettings>
<add key="connectionstring" value="data source=你的数据库器(本机可用localhost,如果是express开发版则必须是.\sqlexpress);initial catalog=数据库名字;user id=用户名;password=你自己的密码 />
<add key="templatepath" value="template" />
</appsettings>
为手工所加。
《2》
<add name="sxzzmanager.properties.settings.sxzzconnectionstring"
connectionstring="data source=你的数据库器;initial catalog=数据库名字;user id=sa;password=你自己的密码"
providername="system.data.sqlclient" />
为在vs2008中添加数据源时自动生成的内容。
《3》
<add name="testconnectionstring" connectionstring="data source=你的数据库器;initial catalog=数据库名字;user id=sa;password=你自己的密码"
providername="system.data.sqlclient" />
为手工添加。
要取得《1》中所示的连接字符串用如下语句:
string constring = system.configuration.configurationsettings.appsettings["connectionstring"];
string constring = system.configuration.configurationmanager.appsettings["connectionstring"];
要取得《2》中所示的连接字符串有两种方法
<1>: string constr = system.configuration.configurationmanager.connectionstrings["sxzzmanager.properties.settings.sxzzconnectionstring"].tostring();
<2>: string constr = sxzzmanager.properties.settings.default["sxzzconnectionstring"].tostring();//"其中"sxzzconnectionstring"可以在vs2008中菜单=》项目=》属性=》设置=》名称 弹出的对话框中显示。其实就是"sxzzmanager.properties.settings.sxzzconnectionstring"中最后一个点后面的字符串。
要取得《3》中所示的连接字符串则中能用《2》中的一个字符串
string constr = configurationmanager.connectionstrings["testconnectionstring"].tostring();
string constr = configurationmanager.connectionstrings["testconnectionstring"].connectionstring;
补充:如果vs不能识别configurationmanager类,则需要在引用中添加“system.configuration”引用即可