但使书种多,会有岁稔时。这篇文章主要讲述如何在C#中更新app.config connectionstring数据源值?相关的知识,希望能为你提供帮助。
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.ConnectionStrings.ConnectionStrings["MyConnectionString",String.Format("DataSource={0};
")].ConnectionString=textBox1.Text;
config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("connectionStrings");
我在第二行遇到麻烦。我似乎无法使语法正确。如您所见,我只想更新DataSource值。例如,如果当前值是Data Source = PC001SQL2008EXPRESS,我希望它更新为客户端在textBox1中输入的内容。
【如何在C#中更新app.config connectionstring数据源值()】编辑:示例ConnectionString
<
add name="ERPDatabaseTables" connectionString="metadata=res://*/ERPTables.csdl|res://*/ERPTables.ssdl|res://*/ERPTables.msl;
provider=System.Data.SqlClient;
provider connection string=&
quot;
Data Source=PC001SQL2008EXPRESS;
Initial Catalog=MyDatabase.mdf;
Integrated Security=True;
MultipleActiveResultSets=True&
quot;
" providerName="System.Data.EntityClient"/>
所以想要仅更新Data Source = PC001SQL2008EXPRESS部分
答案你真正想要的是:
Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// Because it's an EF connection string it's not a normal connection string
// so we pull it into the EntityConnectionStringBuilder instead
EntityConnectionStringBuilder efb =
new EntityConnectionStringBuilder(
config.ConnectionStrings.ConnectionStrings["ERPDatabaseTables"]
.ConnectionString);
// Then we extract the actual underlying provider connection string
SqlConnectionStringBuilder sqb =
new SqlConnectionStringBuilder(efb.ProviderConnectionString);
// Now we can set the datasource
sqb.DataSource = textBox1.Text;
// Pop it back into the EntityConnectionStringBuilder
efb.ProviderConnectionString = sqb.ConnectionString;
// And update...
config.ConnectionStrings.ConnectionStrings["ERPDatabaseTables"]
.ConnectionString = efb.ConnectionString;
config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("connectionStrings");
这假定:
- 您的EF连接字符串存在于应用程序的配置文件中
- 你有参考
System.Data.Entity
推荐阅读
- 无法更新ng-repeat($ scope。$ apply())中的数组更新视图不 起作用
- 糟糕(糟糕区域的内核访问,sig:11 - 'swapper' - 查杀中断处理程序)
- 制作applet
- 14个用于渗透测试和数字取证的免费操作系统
- 7种密码工具,可提高在线安全性
- 如何保护平台即服务(PaaS)环境()
- 适用于中小企业的7网络漏洞扫描程序
- 7种用于渗透测试的流行开源智能工具
- 12个开源Web安全扫描程序以查找漏洞