阿~終於完成這個功能了
其實也不過是個小功能
只是一直沒有時間弄@@
趁最近有專案要用Windows Form開發
也要搭配資料庫
就順便弄起來
開發專案時 開發環境和部署環境的不同總是讓開發人員頭痛
如果是用MDB 那放檔案的地方 不一樣相同
如果是用SQL Server IP 跟 帳號密碼 也未必相同
雖然在VS的專案下可以使用App.config來管理
但是如果成品最後交到客戶手上
客戶的環境又有異動 總不能叫客戶去手動修改App.config檔案吧
雖然也可以用其他方法來完成這個功能
例如另外使用txt檔案 或 ini 檔 甚至用xml檔案也都可以
只是在開發環境下 本來就有提供App.config來管理連線字串
也讓資料庫應用方便很多
所以 就不打算再另外弄個檔案 來做這件事情
好唄~廢話不多說
'儲存新的連線字串
Dim Appconfig As System.Configuration.Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
'如果連線名稱經存在先移除
If Appconfig.ConnectionStrings.ConnectionStrings("SQLCon").ConnectionString IsNot Nothing Then
Appconfig.ConnectionStrings.ConnectionStrings.Remove("SQLCon")
End If
'新增目前的資訊作為先的連線資訊
'組合新的連線字串
Dim ConSet As New System.Configuration.ConnectionStringSettings("SQLCon", "Data Source=" & txt_server.Text.Trim & "," & txt_port.Text.Trim & ";Initial Catalog=" & txt_DBName.Text.Trim & ";Persist Security Info=True;User ID=" & txt_SQL_Acc.Text.Trim & ";password=" & txt_SQL_Pwd.Text.Trim, "System.Data.SqlClient")
Appconfig.ConnectionStrings.ConnectionStrings.Add(ConSet)
Appconfig.Save(ConfigurationSaveMode.Modified)
ConfigurationManager.RefreshSection("connectionString")
MessageBox.Show("儲存完成")
Application.Restart() '因為要重新啟動程式才有效 所以自己呼叫成是重新啟動