2016-09-16 45 views
0

爲什麼我的代碼不工作集連接字符串

的app.config

<connectionStrings> 
    <add name="string.name" 
     connectionString="" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

在C#

private void addnewstring() 
    {   
     Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
     config.AppSettings.Settings.Remove("string.name");    
     config.AppSettings.Settings.Add("string.name", "new connection string");    
     config.Save(ConfigurationSaveMode.Modified); 
     ConfigurationManager.RefreshSection("connectionStrings");      
    } 

在C#代碼不會改變連接字符串在app.config

+0

是不是在你的bin文件夾更新? – Mahdi

+0

不起作用?把你得到的 – Sami

回答

1

您需要修改ConnectionStrings - 您的代碼只是訪問設置。試試這個:

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
    config.ConnectionStrings.ConnectionStrings.Remove("string.name"); 
    config.ConnectionStrings.ConnectionStrings.Add(new ConnectionStringSettings("string.name", "new connection string")); 
    config.Save(ConfigurationSaveMode.Modified); 
    ConfigurationManager.RefreshSection("connectionStrings"); 
0

試試這個,應和工作

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
var connectionStringsSection = (ConnectionStringsSection)config.GetSection("connectionStrings"); 
connectionStringsSection.ConnectionStrings["string.name"].ConnectionString = "new connection string"; 
config.Save(); 
ConfigurationManager.RefreshSection("connectionStrings");