1. ///<summary> 
  2.  
  3. ///更新连接字符串 
  4.  
  5. ///</summary> 
  6.  
  7. ///<param name="newName">连接字符串名称</param> 
  8.  
  9. ///<param name="newConString">连接字符串内容</param> 
  10.  
  11. ///<param name="newProviderName">数据提供程序名称</param> 
  12.  
  13. private static void UpdateConnectionStringsConfig(string newName, 
  14.  
  15.     string newConString, 
  16.  
  17.     string newProviderName) 
  18.  
  19.     bool isModified = false;    //记录该连接串是否已经存在 
  20.  
  21.     //如果要更改的连接串已经存在 
  22.  
  23.     if (ConfigurationManager.ConnectionStrings[newName] != null
  24.     { 
  25.  
  26.         isModified = true
  27.  
  28.     } 
  29.  
  30.     //新建一个连接字符串实例 
  31.  
  32.     ConnectionStringSettings mySettings = 
  33.  
  34.         new ConnectionStringSettings(newName, newConString, newProviderName); 
  35.  
  36.     // 打开可执行的配置文件*.exe.config 
  37.  
  38.     Configuration config = 
  39.  
  40.         ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
  41.  
  42.     // 如果连接串已存在,首先删除它 
  43.  
  44.     if (isModified) 
  45.     { 
  46.  
  47.         config.ConnectionStrings.ConnectionStrings.Remove(newName); 
  48.  
  49.     } 
  50.  
  51.     // 将新的连接串添加到配置文件中. 
  52.  
  53.     config.ConnectionStrings.ConnectionStrings.Add(mySettings); 
  54.  
  55.     // 保存对配置文件所作的更改 
  56.  
  57.     config.Save(ConfigurationSaveMode.Modified); 
  58.  
  59.     // 强制重新载入配置文件的ConnectionStrings配置节 
  60.  
  61.     ConfigurationManager.RefreshSection("ConnectionStrings");