如何使用try catch错误进行sql查询超时?

时间:2013-05-14 11:57:20

标签: c# sql try-catch

如果在c#中与sql查询的连接出错,如何使用try catch?

如果我使用下面的简单代码,它确实有效,但发生错误所需的时间太长。如何让try catch更快地处理错误?

try
{
  //sql command
}
catch
{
  //display connection error
}

4 个答案:

答案 0 :(得分:2)

在发生异常之前,您无法捕获异常。如果你想早点赶上它,可以让它更快地发生。具体来说,缩短超时时间。

我知道如何减少ColdFusion中的超时时间。我必须查看this page以了解如何在.net中执行此操作。

答案 1 :(得分:1)

try-catch会在发生异常时立即捕获异常,但除了在超时发生之前捕获超时异常之外。对于SqlCommand,默认超时 30秒,但您可以通过设置CommandTimeout属性来更改它:

try
{ 
    var command = new SqlCommand("...");
    command.CommandTimeout = 5; // 5 seconds
    command.ExecuteNonQuery();
}
catch(SqlException ex)
{
    // handle the exception...
}

答案 2 :(得分:0)

按以下方式执行:

try
{
  con.open();
  .
  .//Database operation
  .
  con.close();
}
catch(Exception ex)
{
  MessageBox.Show("Error: "+ex.Message);//If exception will come, it will handle it here.
}
finally
{
 con.close();
}

答案 3 :(得分:0)

catch (SqlException ex)
    {
        if (ex.Number == -2)
        {
            //handle timeout
        }        
    }