我有问题。我正在c#.net中编写窗体应用程序并连接到本地网络上的SQL Server。 如果网络断开我的程序没有响应。我的意思是它尝试从sql server中选择数据,但网络已断开连接。如何捕获此错误?提前致谢。
答案 0 :(得分:2)
查看文档以了解超时MSDN
这是他们的示例代码
using System;
using System.Data.SqlClient;
///
public class A {
///
public static void Main() {
string connectionString = "";
// Wait for 5 second delay in the command
string queryString = "waitfor delay '00:00:05'";
using (SqlConnection connection = new SqlConnection(connectionString)) {
connection.Open();
SqlCommand command = new SqlCommand(queryString, connection);
// Setting command timeout to 1 second
command.CommandTimeout = 1;
try {
command.ExecuteNonQuery();
}
catch (SqlException e) {
Console.WriteLine("Got expected SqlException due to command timeout ");
Console.WriteLine(e);
}
}
}
}
注意这一行
command.CommandTimeout = 1;
绝对将你的sql代码包装在'下使用'因为它会自动为你释放资源。
答案 1 :(得分:0)
您基本上需要首先检查Open Connection!
SqlConnection con = new SqlConnection(Connection_string); //specify your connection string such as Server database etc ...
if (con.State == System.Data.ConnectionState.Open)
//statements
你可以发一个事件通知连接已经关闭了!