我想允许我的用户在运行时在登录页面上的不同数据库之间切换。
我目前将ConnectionString存储在我的App Settings文件中,所有数据集都引用此设置。
我尝试在运行时修改此设置,但这似乎不可能。
这样做的最佳方式是什么?
答案 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();