当执行SqlCommand并超时时,SqlConnection的状态是不确定的。为了确保资源得到正确的处理,建议采用以下方法:
以下是一个示例代码:
using (SqlConnection connection = new SqlConnection(connectionString))
{
try
{
connection.Open();
SqlCommand command = new SqlCommand(sqlQuery, connection);
command.CommandTimeout = 30; // 设置超时时间为30秒
SqlDataReader reader = command.ExecuteReader();
// 处理查询结果
}
catch (SqlException ex)
{
// 处理异常
}
finally
{
connection.Close();
}
}
在这个示例中,我们使用using语句来确保SqlConnection被正确释放。在try块中执行SqlCommand,如果超时,将抛出SqlException异常。在finally块中,我们关闭SqlConnection以确保资源被正确释放。
领取专属 10元无门槛券
手把手带您无忧上云