/// <summary> /// 更新连接字符串 /// </summary> /// <param name="newName"> 连接字符串名称 </param> /// <param name="newConString"> 连接字符串内容 </param> /// <param name="newProviderName"> 数据提供程序名称 </param> public static void UpdateConnectionStringsConfig(string newName, string newConString, string newProviderName) { bool isModified = false; // 记录该连接串是否已经存在 // 如果要更改的连接串已经存在 if (ConfigurationManager.ConnectionStrings[newName] != null) { isModified = true; } // 新建一个连接字符串实例 ConnectionStringSettings mySettings = new ConnectionStringSettings(newName, EncrypHandler.Encrypto(newConString), newProviderName); // 打开可执行的配置文件*.exe.config Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); // 如果连接串已存在,首先删除它 if (isModified) { config.ConnectionStrings.ConnectionStrings.Remove(newName); } // 将新的连接串添加到配置文件中. config.ConnectionStrings.ConnectionStrings.Add(mySettings); // 保存对配置文件所作的更改 config.Save(ConfigurationSaveMode.Modified); // 强制重新载入配置文件的ConnectionStrings配置节 ConfigurationManager.RefreshSection("ConnectionStrings"); }
// <summary> /// 依据连接串名字connectionName返回数据连接字符串 /// </summary> /// <param name="connectionName"></param> /// <returns></returns> public static string GetConnectionStringsConfig(string connectionName) { string connectionString = EncrypHandler.Decrypto(ConfigurationManager.ConnectionStrings[connectionName].ConnectionString.ToString()); //Console.WriteLine(connectionString); return(connectionString); }