【发布时间】:2017-05-02 10:32:49
【问题描述】:
我有一个简单的问题,我正在尝试检查App.config 中的连接字符串是否有效以及其中的服务器和数据库是否可以访问。我已经尝试了以下代码,但仍然无法正常工作:-
public static bool checkConnectionString(string con)
{
if (ConfigurationManager.ConnectionStrings[con].ConnectionString == "" && !checkConnectionStringValidity(con))
{
return false;
}
else
{
return true;
}
}
public static bool checkConnectionStringValidity(string con)
{
try {
using(var connection = new SqlConnection(con)) {
connection.Open();
return true;
}
} catch {
return false;
}
}
然后我在主界面使用上面的方法:-
if (Data.checkConnectionString("Utilities"))
{
Application.Run(new Log_In());
}
else
{
Application.Run(new ApplicationMainSettings());
}
我希望当我在app.config 中写入错误信息时,程序会将我引导至ApplicationMainSettings() 屏幕。
【问题讨论】:
-
不应该传入实际的连接字符串吗?
... !checkConnectionStringValidity(ConfigurationManager.ConnectionStrings[con].ConnectionString)) -
您对 checkConnectionStringValidity 的调用未传递实际的连接字符串。
-
问之前好像没调试过。您只是从方法中解析了字符串,而不是从 App.config 中解析。编辑:帕特里克和西蒙已经指出了这一点
-
是的,我错了,但是,当我传递真正的连接字符串时,什么都没有发生......!
标签: c# connection-string