0

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

4

2 回答 2

3

你可以试试

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

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

于 2009-11-24T08:30:37.537 回答
1

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

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

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

于 2009-11-24T08:31:00.157 回答