目前我这样做:
internal bool CheckConnection()
{
using (SqlConnection testConn = new SqlConnection(this.ConnectionString))
{
try
{
testConn.Open();
}
catch (SqlException)
{
return false;
}
}
return true;
}
有更好的方法吗?
答案 0 :(得分:4)
这几乎就是这样做的方式。虽然您应该考虑处理其他一些异常类型。除sql问题外,还可以other reasons why you don't connect到db服务器。
除了SqlException之外,Connection.Open还可以抛出InvalidOperationException和ArgumentException。此外,.Open调用的API也可以抛出其他类型的异常,这些异常也可以渗透到您的代码中。实际上,这是处理基本异常并向用户显示其消息可能更可取的罕见情况之一。 (一般的经验法则是只处理特定的例外情况。)
答案 1 :(得分:0)
你可以抓住SqlException
并返回一些失败的信息,具体取决于异常中的Number