Как попытаться выполнить повторно, если command.ExecuteNonQuery() не удается

Как попытаться выполнить повторно, если command.ExecuteNonQuery() не удается?

2 ответа

Решение

Ты можешь попробовать

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

Вы можете добавить еще несколько условий, таких как таймер или счетчик, но это не очень хорошая идея. Вы, вероятно, должны придумать лучший сценарий восстановления.

Самый простой способ, которым я могу думать:

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

В любом случае вы должны поместить некоторый дополнительный управляющий код в блок catch, чтобы предотвратить бесконечный цикл и / или зарегистрировать ошибку.

Другие вопросы по тегам