【问题标题】:I want to change app config connection string我想更改应用程序配置连接字符串
【发布时间】:2014-06-05 22:37:54
【问题描述】:

我想通过代码更改应用配置连接字符串

我的源代码

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

有人可以帮帮我吗?

谢谢

【问题讨论】:

标签: c# app-config


【解决方案1】:

像这样将不同名称的多个连接字符串放入 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>

上面的配置只是例如根据需要放置连接字符串。

【讨论】:

    【解决方案2】:

    我会在 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,它不鼓励使用动态构建连接字符串。

    【讨论】:

      猜你喜欢
      • 2015-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多