超时已过期。操作完成之前经过的超时时间或服务器没有响应。该语句已终止

时间:2013-03-18 02:51:51

标签: c# winforms

using (SqlConnection connection1 = new SqlConnection(StringCon))
{
    string sSQL = string.Format("UPDATE Guest SET FirstName=@Content WHERE GuestID=@GuestID");
    SqlCommand MyCmd = new SqlCommand(sSQL, connection1);
    SqlParameter param = MyCmd.Parameters.Add("@Content", SqlDbType.NVarChar);
    param.Value = "Tony";
    SqlParameter param1 = MyCmd.Parameters.Add("@GuestID", SqlDbType.NVarChar);
    param1.Value = GuestID;
    connection1.Open();
    iResult = MyCmd.ExecuteNonQuery();
    connection1.Close();
}

但是这段代码无法执行,因为这个错误

  

超时已过期。操作完成之前经过的超时时间或服务器没有响应。   声明已经终止。

为什么会出现错误以及如何修复错误。

1 个答案:

答案 0 :(得分:0)

看起来这个命令花费的时间比你想象的要长,你可以尝试为你的SqlCommand指定超时(将它扩展到你认为适合的情况):

SqlCommand MyCmd = new SqlCommand(sSQL, connection1);
MyCmd.CommandTimeout = 1000; // in seconds