问题是这样的。 1.我需要连接多个数据库,所以我在登录的时候有一个数据库选项。 2.我将连接字符写在了appconfig里 代码是: <connectionStrings> <add name="connString" connectionString="Data Source=.;Initial Catalog=Test;Persist Security Info=True;User ID=sa;Password=123456" providerName="System.Data.SqlClient" /> </connectionStrings> 然后,如何动态修改connectionString的值呢? 求教。。。。。
class AppConfig { /// <summary> /// 导入connectionStrings配置 /// </summary> /// <param name="Key">索引</param> /// <returns>值</returns> public String LoadConnectionValue(string Key) { ConfigurationManager.RefreshSection("connectionStrings"); string value = ""; value = ConfigurationManager.ConnectionStrings[Key].ToString(); return value; } /// <summary> /// 更新connectionStrings配置 /// </summary> /// <param name="Key">索引</param> /// <param name="Value">值</param> public bool UpdateConnectionKey(string Key, string Value) { bool Success = false; ConfigXmlDocument xmlDoc = new ConfigXmlDocument(); xmlDoc.Load(AppDomain.CurrentDomain.BaseDirectory + "ExampleCode.exe.config"); XmlNode ConnectionNode = xmlDoc.SelectSingleNode("configuration/connectionStrings"); // Attempt to locate the requested setting. foreach (XmlNode childNode in ConnectionNode) { if (childNode.NodeType != XmlNodeType.Comment) { try { if (childNode.Attributes.GetNamedItem("name").Value == Key) { childNode.Attributes.GetNamedItem("connectionString").Value = Value; } Success = true; } catch {} } } if (Success) { xmlDoc.Save(AppDomain.CurrentDomain.BaseDirectory + "ExampleCode.exe.config"); xmlDoc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile); } return Success; } } 调用方法 AppConfig = new AppConfig(); config.LoadConnectionValue("connString").ToString(); //获得connectionString config.UpdateConnectionKey("connString",“更改后的值”); //更新值 这个比较全歪