如果command.ExecuteNonQuery()失败,如何尝试重复执行

时间:2009-11-24 08:26:59

标签: tsql ado.net sql-server-2008-express

如果command.ExecuteNonQuery()失败,如何尝试重复执行?

2 个答案:

答案 0 :(得分:3)

你可以尝试

bool executed = false;
while (!executed)
{
    try
    {
        command.ExecuteNonQuery();
        executed = true;
    }
    catch
    {
    }
}

您可以添加更多条件,如计时器或计数器,但这似乎不是一个好主意。你应该提出一个更好的恢复方案。

答案 1 :(得分:1)

我能想到的最简单的方法是:

while(true) {
    try {
        command.ExecuteNonQuery();
        break;
    } catch(SqlException ex) { }
}   

你应该在catch块中加入一些额外的控制代码,以防止无限循环和/或记录错误。