我有一個程序使用TableAdapter創建的DataTable生成報告。現在我的客戶有一個新的數據庫,他希望能夠在新舊數據庫之間切換。我發現我可以通過更改app.config中的連接字符串來實現,但我不知道如何在運行時執行此操作。你能告訴我一個方法嗎? 感謝如何更改app.config中的連接字符串
回答
我不知道如何在運行時做
不要。您可以在app.config
中有多個連接字符串,並在需要時訪問每個連接字符串。
配置:
<connectionStrings>
<add name="conn1" providerName="System.Data.SqlClient"
connectionString="..." />
<add name="conn2" providerName="System.Data.SqlClient"
connectionString="..." />
</connectionStrings>
在代碼:
var conn1 = ConfigurationManager.ConnectionStrings["conn1"];
var conn2 = ConfigurationManager.ConnectionStrings["conn2"];
您可以定義多個連接字符串是這樣的:
<add name="Conn" connectionString="Data Source=PC\SQLEXPRESS;Initial Catalog=NHIB;Integrated Security=True" providerName="System.Data.SqlClient"/>-->
<add name="Conn1" connectionString="Data Source=WINSERVER;Initial Catalog=NHIB1;Integrated Security=True;" providerName="System.Data.SqlClient"/>
之後,你可以用康恩或conn1的根據您的要求..喜歡:
SqlConnection con;
con = new SqlConnection(ConfigurationManager.AppSettings.Get("Conn")); Or
con = new SqlConnection(ConfigurationManager.AppSettings.Get("Conn1"));
您可以將如下之間切換:
string connectionString = HttpContext.Current.Request.IsLocal ?
ConfigurationManager.ConnectionStrings["Conn"].ConnectionString :
ConfigurationManager.ConnectionStrings["Conn1"].ConnectionString;
yourDataContext = new YourApplicationDataContext(connectionString);
它會更好地顯示OP從配置回收密鑰 – 2012-04-12 10:51:31
爲什麼使用'AppSettings'而不是專用的'ConnectionStrings'? – Oded 2012-04-12 10:55:52
這取決於..... – 2012-04-12 10:59:16
- 1. 更改連接字符串值在app.config
- 2. App.Config中連接字符串
- 3. 永久更改app.config中的連接字符串從代碼
- 4. 在運行時更改App.config中的連接字符串
- 5. Clickonce app.config連接字符串
- 6. dll的app.config中的連接字符串
- 7. 解密連接字符串中的App.config
- 8. app.config中的連接字符串
- 9. 如何更改運行時在app.config中的實體框架連接字符串
- 10. 如何把字符串作爲連接字符串到app.config?
- 11. 在app.config中加密連接字符串
- 12. 更改連接字符串
- 13. 更改連接字符串
- 14. 更改連接字符串
- 15. 如何在運行時更改我的app.config文件的連接字符串?
- 16. 如何在c#中的app.config中編寫mysql連接字符串?
- 17. 更改MembershipProvider中的連接字符串
- 18. 更新App.config中的NHiberbate連接字符串
- 19. 如何使用連接字符串從web.config在asp.net中的app.config
- 20. 如何從C#中的App.config文件讀取連接字符串
- 21. 如何加密WinForms 1.1 app.config中的連接字符串?
- 22. 如何從類lib的App.config中使用連接字符串?
- 23. 如何加密App.config中的連接字符串VB.net
- 24. App.config連接字符串相對路徑
- 25. VB.NET連接字符串(Web.Config,App.Config)
- 26. App.config連接字符串保護錯誤
- 27. 使用InstallShield 2011安裝程序更改app.config中的連接字符串
- 28. VS2005 C#以編程方式更改app.config中包含的連接字符串
- 29. 從app.config中抓取動態更新連接字符串在VB.Net
- 30. 如何在app.config文件中設置連接字符串值?
請問該效果的TableAdapter的?我知道當我創建TableAdapter時,我需要指定它將使用的連接。我知道我可以有多個連接字符串,但是如何在它們之間切換,以便該開關影響整個應用程序。 – NDraskovic 2012-04-12 11:25:50
@NDraskovic - 您需要決定要使用哪個連接。如果你抽象決定使用哪一個類到自己的類,你將有一箇中心點來訪問不同的連接字符串。 – Oded 2012-04-12 11:31:06
抱歉,我不明白,所以我會告訴你我的想法,請告訴我它是否合理:我可以創建TableAdapter來創建包含所需數據的DataTables。現在,由於這些數據庫具有相同的模式,我只需要更改TableAdapter的連接,並且它應該用來自我想要的數據庫的數據填充DataTable。這能做到嗎?我該怎麼做? – NDraskovic 2012-04-12 11:36:06