我想更改app config连接字符串

时间:2014-06-05 14:21:02

标签: c# app-config

我想通过代码

更改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中看到时,这个文件没有被修改。

有人可以帮助我吗?

由于

2 个答案:

答案 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就是你需要的连接字符串。