欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

VS中C#读取app.config数据库配置字符串的三种方法

程序员文章站 2023-02-21 15:39:09
关于vs2008或vs2005中数据库配置字符串的三种取法 vs2008建立form程序时,如果添加数据源会在配置文件 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”引用即可