Winforms - 在运行时替换ConnectionString

时间:2009-06-30 15:25:49

标签: .net winforms configuration connection-string

我想允许我的用户在运行时在登录页面上的不同数据库之间切换。

我目前将ConnectionString存储在我的App Settings文件中,所有数据集都引用此设置。

我尝试在运行时修改此设置,但这似乎不可能。

这样做的最佳方式是什么?

3 个答案:

答案 0 :(得分:1)

你能不能在配置文件中有第二个连接字符串?您设置了哪种数据访问代码?

答案 1 :(得分:1)

您可以强制代码在获取连接字符串之前调用ConfigurationManager.RefreshSection从磁盘中获取连接字符串:

ConfigurationManager.RefreshSection("connectionStrings");
string connectionString = ConfigurationManager.ConnectionStrings["someConnection"].ConnectionString;

答案 2 :(得分:0)

数据库是否已加密?

如果不是需要大量隐私的东西,您可以按用户存储连接字符串。

例如:

System.Properties.Default.MyConnectionString = "Blah";
System.Properties.Default.Save();

string myConnectionString = System.Properties.Default.MyConnectionString;

编辑:这些最初可以通过转到项目 - >设置在VS中。属性 - >设置并确保将它们放在“用户”范围内(应用程序范围在运行时是只读的,除非我弄错了)。

EDIT2:关于以下评论:

SqlConnection myConnection = new SqlConnection();
//Set from a normal String saved in user's settings
myConnection.ConnectionString = System.Properties.Default.MyConnectionString; 
myConnection.Open();