SQLITE: база данных заблокирована ошибка (ошибка - 5) при использовании запроса на обновление - PullRequest
0 голосов
/ 15 ноября 2011
int nRet = sqlite3_open(szFile, &mpDB);

if (nRet != SQLITE_OK)
{

}

setBusyTimeout(mnBusyTimeoutMs);

   sqlite3_exec(mpDB, "Begin Transaction;", 0, 0, &szError);
  sqlite3_exec(mpDB, "UPDATE query", 0, 0, &szError);//some update table query
sqlite3_exec(mpDB, "Commit Transaction;", 0, 0, &szError);///Here it gives error database is locked

Приведенный выше код отлично работает для команды вставки вместо команды обновления.

1 Ответ

3 голосов
/ 15 ноября 2011

У вас есть файл, открытый в каком-то редакторе sql, в то же время?Я недавно использовал программу под названием «Браузер базы данных SQLite», и она заблокировала всю базу данных sqlite, мне потребовалось некоторое время, чтобы выяснить, что, черт возьми, происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...