Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 349
  • Last Modified:

c# catch exception with access database

Hi

I am working on a winforms c# 2010 application connecting to an MS ACCESS database.

occasionally, users are saying that they are having the same error 'could not update; currently locked'

so what I would like to do is catch this when it arises, wait a few seconds, then loop to try again until the database is updated.

how can I achieve this?

here is a snippet of the code to insert data:

 foreach (string f in fields)
            {
                myFields += f + ", ";
                myValues += "?,";

            }


 OleDbCommand cmd = new System.Data.OleDb.OleDbCommand("INSERT INTO " + table + " (" + myFields + ") Values (" + myValues + ") ", con);

            foreach (string v in values)
            {
                cmd.Parameters.AddWithValue("?", v);
            }

            cmd.CommandType = CommandType.Text;

            try
            {
                cmd.ExecuteNonQuery();
            }
            catch (Exception)
            {

                throw;
            }

Open in new window

0
cycledude
Asked:
cycledude
  • 2
  • 2
1 Solution
 
Carl TawnSystems and Integration DeveloperCommented:
You could try something like:
int attempts = 5;
while (attempts > 0)
{
    try
    {
        cmd.ExecuteNonQuery();
        attempts = -1;
    }
    catch (Exception)
    {
       if (attempts > 0)
       {
            --attempts;
            System.Thread.Thread.Sleep(1000);       // wait 1 second before retry
       }
       else
       {
            throw;
       }
    }
}

Open in new window

0
 
cycledudeAuthor Commented:
thanks i will try this..

how can I throw the error to test it?
0
 
Carl TawnSystems and Integration DeveloperCommented:
Just comment out the line:
cmd.ExecuteNonQuery();

Open in new window

And replace it with:
thrown new Exception();

Open in new window

0
 
cycledudeAuthor Commented:
thanks

seems to be working ;o)
0

Featured Post

Get your Conversational Ransomware Defense e‑book

This e-book gives you an insight into the ransomware threat and reviews the fundamentals of top-notch ransomware preparedness and recovery. To help you protect yourself and your organization. The initial infection may be inevitable, so the best protection is to be fully prepared.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now