views:

174

answers:

2

how to try execute repeatly if command.ExecuteNonQuery() fails?

+3  A: 

You can try

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

You can add some more conditions like a timer or a counter but this does not seem to be a good idea. You should probably come up with a better recovery scenario.

Serhat Özgel
+1  A: 

The simplest way I can think is:

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

You should anyway put some extra control code in the catch block to prevent an infinite loop and/or to log the error.

Konamiman