ConnectionString 属性 尚未初始化错误
The ConnectionString property has not been initialized bug
好的,所以我似乎遇到了一个烦人的错误,我希望你能帮助我。
我正在使用 winforms,在应用程序设置表单上,我提供了更改连接字符串的功能。当连接字符串的不同部分发生变化并且用户离开文本框时,它将信息写入 app.config。这一切都非常有效。
我有一个测试连接的按钮,所以在表单仍处于打开状态时随时更改连接字符串后按下此按钮时,我遇到了一个错误:
The ConnectionString property has not been initialized
为了让这更复杂一些,当我关闭并重新打开应用程序时,相同的表单现在能够建立连接并且一切顺利。几乎就像 Config 在进行更改后将自身锁定以免被查询。
在更改 app.config 和尝试使用存储的连接字符串打开连接之间,我需要做些什么吗?
这是我更改 app.config:
的代码
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.ConnectionStrings.ConnectionStrings["myconnstr"].ConnectionString = textboxCS.Text;
config.Save(ConfigurationSaveMode.Modified);
这是我用来测试连接的代码:
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
string constr = System.Configuration.ConfigurationManager.ConnectionStrings["myconnstr"].ConnectionString;
using (SqlConnection connection = new SqlConnection(constr))
{
try
{
connection.Open();
connection.Close();
MessageBox.Show("Successful Connection");
}
catch (Exception ee)
{
ee.ToString();
MessageBox.Show("Failed Connection");
}
finally
{
connection.Close();
}
这个:
string constr = System.Configuration.ConfigurationManager.ConnectionStrings["myconnstr"].ConnectionString;
需要替换为:
string constr = config.ConnectionStrings.ConnectionStrings["myconnstr"].ConnectionString;
问题是它试图打开 ConfigurationManager 两次
感谢大家的帮助
好的,所以我似乎遇到了一个烦人的错误,我希望你能帮助我。
我正在使用 winforms,在应用程序设置表单上,我提供了更改连接字符串的功能。当连接字符串的不同部分发生变化并且用户离开文本框时,它将信息写入 app.config。这一切都非常有效。
我有一个测试连接的按钮,所以在表单仍处于打开状态时随时更改连接字符串后按下此按钮时,我遇到了一个错误:
The ConnectionString property has not been initialized
为了让这更复杂一些,当我关闭并重新打开应用程序时,相同的表单现在能够建立连接并且一切顺利。几乎就像 Config 在进行更改后将自身锁定以免被查询。
在更改 app.config 和尝试使用存储的连接字符串打开连接之间,我需要做些什么吗?
这是我更改 app.config:
的代码 Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.ConnectionStrings.ConnectionStrings["myconnstr"].ConnectionString = textboxCS.Text;
config.Save(ConfigurationSaveMode.Modified);
这是我用来测试连接的代码:
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
string constr = System.Configuration.ConfigurationManager.ConnectionStrings["myconnstr"].ConnectionString;
using (SqlConnection connection = new SqlConnection(constr))
{
try
{
connection.Open();
connection.Close();
MessageBox.Show("Successful Connection");
}
catch (Exception ee)
{
ee.ToString();
MessageBox.Show("Failed Connection");
}
finally
{
connection.Close();
}
这个:
string constr = System.Configuration.ConfigurationManager.ConnectionStrings["myconnstr"].ConnectionString;
需要替换为:
string constr = config.ConnectionStrings.ConnectionStrings["myconnstr"].ConnectionString;
问题是它试图打开 ConfigurationManager 两次
感谢大家的帮助