I expect that this has been asked before but I cant find anything
useful via google.

I am updating about 20 rows in a table and setting a particular value
to a particular value. The first time I do this all is OK, if I try
again a few seconds later I get a database is locked error.

The code is (using UniDAC), x is passed as a value to the function

        try
        {
                UniConnection1->StartTransaction();
                for(int i=0; i<Count; i++)
                {
                        Tab->RecNo = i;
                        Tab->Edit();
                        Tab->FieldByName("cat")->AsInteger = x;
                        ThumbTab->Post();
                }
        }
        __finally
        {
                UniConnection1->Commit();
                Beep(1000,200);
        }

I have added the Beep message to make sure that commit is returning
quickly, which it is doing

I am updating the same set of records, if I move on within the dataset
by count records and then update a new set of rows all works OK, if I
then move back to the previous set and update all is OK. The error
just happens when I trya nd update the same set of records on two
consecutive occasions

What can cause the dataabse to be locked in this way, are there any
sqliteisms I should be looking for.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to