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

Tsql 如果command.ExecuteOnQuery()失败,如何尝试重复执行,tsql,ado.net,sql-server-2008-express,Tsql,Ado.net,Sql Server 2008 Express,如果command.ExecuteNonQuery()失败,如何尝试重复执行?您可以尝试 bool executed = false; while (!executed) { try { command.ExecuteNonQuery(); executed = true; } catch { } } 您可以添加更多的条件,如计时器或计数器,但这似乎不是一个好主意。您可能应该想出一个更好的恢复方案。您可以试试 bo

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

您可以尝试

bool executed = false;
while (!executed)
{
    try
    {
        command.ExecuteNonQuery();
        executed = true;
    }
    catch
    {
    }
}
您可以添加更多的条件,如计时器或计数器,但这似乎不是一个好主意。您可能应该想出一个更好的恢复方案。

您可以试试

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

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

我认为最简单的方法是:

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

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

我认为最简单的方法是:

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

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

了解失败的含义会有所帮助。也许是暂停?您是否正在寻找要抛出的特定异常?了解失败的含义会有所帮助。也许是暂停?您是否正在寻找要抛出的特定异常?