我想通过代码
更改app config连接字符串我的源代码
string connString = "";
connString = "Data Source=" + Convert.ToString(txtServer.EditValue) + ";" +
"Initial Catalog=" + Convert.ToString(txtDatabase.EditValue) + ";" +
"User id=" + Convert.ToString(txtUserName.EditValue) + ";" +
"Password=" + Convert.ToString(txtPassword.EditValue) + ";";
var config = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location);
ConnectionStringsSection connSection = (ConnectionStringsSection)config.GetSection("connectionStrings");
connSection.ConnectionStrings["INATTSQLConnString"].ConnectionString = connString;
config.Save();
ConfigurationManager.RefreshSection("connectionStrings");
但是当我在app.config中看到时,这个文件没有被修改。
有人可以帮助我吗?
由于
答案 0 :(得分:0)
我会在Web.Config中包含所有不同的connectionString
条目。在代码中,我选择其名称所需的那个。
实施起来更容易。
例如,
Web.Config
<connectionStrings>
<add name="Environment1" connectionString="connString1" providerName="System.Data.SqlClient" />
<add name="Environment2" connectionString="connString2" providerName="System.Data.SqlClient" />
<add name="Environment3" connectionString="connString3" providerName="System.Data.SqlClient" />
<add name="Environment4" connectionString="connString4" providerName="System.Data.SqlClient" />
</connectionStrings>
在您的代码中,进行选择。
string connString = ConfigurationManager.ConnectionStrings [chosenName] .ConnectionString;
这是一个post,它不鼓励使用动态构建连接字符串。
答案 1 :(得分:0)
将您的多个连接字符串以不同的名称放入App.Config文件中,并按连接字符串名称使用:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="DBCS1" providerName="System.Data.SqlClient" connectionString="Data Source=SQLEXPRESS;Initial Catalog=UserDetails;Integrated Security=SSPI;" />
</connectionStrings>
<add name="DBCS2" providerName="System.Data.SqlClient" connectionString="Data Source=SQLEXPRESS;Initial Catalog=UserDetails;Integrated Security=SSPI;" />
</connectionStrings>
</configuration>
上面的configuratin就是你需要的连接字符串。