所以我的目标是设置一个"设置形式"允许用户编辑连接字符串(通过更改数据库名称/服务器位置。
这样做的原因是,当服务器位置很快就会被没有任何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>
答案 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