我想更改app config连接字符串 [英] I want to change app config connection string

查看:58
本文介绍了我想更改app config连接字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想通过代码更改app config连接字符串



我的SourceCode



< pre lang =C#> string connString = ;

connString = 数据源= + Convert.ToString(txtServer。 EditValue)+ ; +
初始目录= + Convert.ToString(txtDatabase.EditValue)+ ; +
用户ID = + Convert.ToString(txtUserName.EditValue)+ ; +
Password = + Convert.ToString(txtPassword.EditValue)+ ;;

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConnectionStringsSection connSection =
(ConnectionStringsSection)config.GetSection( connectionStrings) ;
connSection.ConnectionStrings [ INATTSQLConnString]。ConnectionString = connString;
config.Save();
ConfigurationManager.RefreshSection( connectionStrings);





但是当我在app.config中看到时,这个文件没有被修改。



有人可以帮忙我,拜托?



谢谢

解决方案

这已经过测试可行了。唯一的区别是它省略了GetSection。

请记住,如果您在调试会话中测试它并且您正在使用vs主机,则此更改将应用​​于appName.vshost。 exe.Config文件。

 public static void ModifyConnectionString(string connectionString)
{
Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None );
ConnectionStringSettingsCollection connectionStrings =
config.ConnectionStrings.ConnectionStrings;
connectionStrings [INATTSQLConnString]。ConnectionString = connectionString;
config.Save();

ConfigurationManager.RefreshSection(connectionStrings);
}


I want to change app config connection string, through a code

My SourceCode

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(ConfigurationUserLevel.None);
ConnectionStringsSection connSection =    
    (ConnectionStringsSection)config.GetSection("connectionStrings");
connSection.ConnectionStrings["INATTSQLConnString"].ConnectionString = connString;
config.Save();
ConfigurationManager.RefreshSection("connectionStrings");



but when i saw in my app.config, this file isn't modified.

can somebody help me, please?

Thanks

解决方案

This has been tested to work. The only difference is that it omits the "GetSection".
Remember that if you are testing this in a debug session and you are using the vs host, this change will be applied to the appName.vshost.exe.Config file.

public static void ModifyConnectionString(string connectionString)
{
   Configuration config =             
      ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
   ConnectionStringSettingsCollection connectionStrings = 
      config.ConnectionStrings.ConnectionStrings;
   connectionStrings["INATTSQLConnString"].ConnectionString = connectionString;
   config.Save();

    ConfigurationManager.RefreshSection("connectionStrings");
}


这篇关于我想更改app config连接字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆