使用变量修改连接字符串

时间:2014-10-08 00:22:16

标签: c# connection-string appsettings

所以我的目标是设置一个"设置形式"允许用户编辑连接字符串(通过更改数据库名称/服务器位置。

这样做的原因是,当服务器位置很快就会被没有任何C#体验的人(前端GUI)更改时,它需要能够更改。

我已经在app.config中创建了连接字符串但是找不到在conn字符串中分配可以更改的变量的方法吗?我使用项目属性创建了一些应用程序范围的设置。这是我的app.config

<connectionStrings>
    <add name="xxxx"
        connectionString="Data Source=ServerIP;Initial Catalog=DBName;Persist Security Info=True;User ID=user;Password=password"
        providerName="System.Data.SqlClient" />
</connectionStrings>
<applicationSettings>
    <xxx.Properties.Settings>
        <setting name="ServerIP" serializeAs="String">
            <value />
        </setting>
        <setting name="DBName" serializeAs="String">
            <value />
        </setting>
    </xxx.Properties.Settings>
</applicationSettings>

1 个答案:

答案 0 :(得分:2)

实现此目的的一种方法是使用占位符({0}{1})作为配置文件中连接字符串的那些部分,如下所示:

Data Source={0};Initial Catalog={1};Persist Security Info=True;User ID=user;Password=password

然后在读取代码中的连接字符串时通过string.Format填写它们,如下例所示。 (注意:这假设您已添加对 System.Configuration.dll 的引用,并且您已将应用程序设置检索为两个变量serverIP和{ {1}}。)

dbName