程序在连接到SQL Server时没有响应

时间:2016-10-05 18:28:07

标签: c#

我有问题。我正在c#.net中编写窗体应用程序并连接到本地网络上的SQL Server。 如果网络断开我的程序没有响应。我的意思是它尝试从sql server中选择数据,但网络已断开连接。如何捕获此错误?提前致谢。

2 个答案:

答案 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

你可以发一个事件通知连接已经关闭了!