因此,這裏是我的第一個問題,我的第一個C#程序:C#的WinForms其他形式改變數據庫名稱
我需要的功能,可以永久地改變一個連接字符串。
我的程序具有這樣的結構: 主要形式是Form1
,當我按一下按鈕,Options
,我得到新的 - Form3
,在那裏用戶可以登錄(密碼保護更改選項),如果登錄是全成我創造新的表格 - Form4
。在Form4
的構造函數中,我從Form1
傳遞了一個SqlConnection
對象。我想通過點擊按鈕來改變我的數據庫的名字,所以這裏是代碼:
var config = ConfigurationManager
.OpenExeConfiguration(ConfigurationUserLevel.None);
var connectionStringsSection = (ConnectionStringsSection)config
.GetSection("connectionStrings");
var x = connectionStringsSection
.ConnectionStrings["App.Properties.Settings.ppsConnectionString"]
.ConnectionString;
String[] words = x.Split(';');
words[1] = "Initial Catalog="+textBoxDB.Text;
x=String.Join(";", words);
connectionStringsSection
.ConnectionStrings["App.Properties.Settings.ppsConnectionString"]
.ConnectionString = x;
//above, this variable x in debug mode looks right
//I read this line below should update file, so change would be permamently
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("connectionStrings");
但它不會改變任何東西,我不知道如何更改此設置文件,以便用戶可以更改數據庫名稱當他們重新啓動應用程序時,他們應該有這個新的更改的連接字符串。
編輯:
感謝事實證明,我應該從斌/釋放的.exe版本VS運行這段代碼,而不是在調試,它實際上改變了這個配置文件的響應。
複製 - http://stackoverflow.com/questions/3838027/how-to-update-an-value-in-app-config-file - 真的,谷歌搜索將展示如何一噸結果從C#更新配置文件。 – Pete
嗯,我沒有看到評論,有一個棘手的細節 – vul6