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

本文关键字:响应 Server SQL 连接 程序 | 更新日期: 2023-09-27 18:11:45

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

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

查看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代码也包装在'using'下面,因为它会自动为你释放资源。

您基本上需要先检查打开连接!

SqlConnection  con = new SqlConnection(Connection_string); //specify your connection string such as Server database etc ...
if (con.State == System.Data.ConnectionState.Open)
 //statements

您可以创建一个事件来通知连接已关闭!