由於在winform設計中,常常對datagridview利用嚮導設定資料來源,那麼在嚮導中的資料庫連接字串儲存在app.config中。因此,如果涉及到修改資料庫連接設定的時候,必須對app.config中的connectionStrings進行讀寫。
1. 對app.configjin進行讀寫的類ModifyAppConfig
class ModifyAppConfig
{
///
/// 擷取ConnectionStrings
///
///
///
public string GetConnectionStringsConfig(string connectionName)
{
string connectionString = ConfigurationManager.ConnectionStrings[connectionName].ConnectionString;
return connectionString;
}
///
/// 更新連接字串
///
///
///
///
public void UpdateConnectionStringsConfig(string newName, string newConString, string newProviderName)
{
bool isModified = false; //記錄該串連串是否已經存在
if (ConfigurationManager.ConnectionStrings[newName] != null)
{
isModified = true;
}
//建立一個連接字串執行個體
ConnectionStringSettings mySettings = new ConnectionStringSettings(newName, 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");
}
}
}
2. 在程式中對app.config進行更新,代碼如下:
//讀app.config中的connectionStrings
ModifyAppConfig mac = new ModifyAppConfig();
string strConnStrings=mac.GetConnectionStringsConfig();
//重寫app.config中的connectionStrings
ModifyAppConfig mac = new ModifyAppConfig();
mac.UpdateConnectionStringsConfig("brcc.Properties.Settings.brccConnectionString", strConn, "System.Data.SqlClient");
至此,完成了對app.config中connectionStrings的讀寫操作。詳細的對app.config進行讀寫操作,可參考下文:http://yueqing.blog.163.com/blog/static/32082592009813111946229/
http://cache.baidu.com/c?m=9d78d513d99256af59fa940f5e549571182497634bc0d1652e89cf1cc8314c41367192bc30551613a5c16b1600b8492dbbad6a2e605266ecc694c90c9de0ce7d6e9c60742e13dc0754910eaeb85b389777d40db7f25bb0fae732e4a9d182990944ca245427dfedd81a4609ca6df21f33e9bb9a4e115e12bbfa3012a51f28&p=983fc54ad7c905f20be291225b5f&user=baidu