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
上面的代码适用于insert命令而不是update命令。
答案 0 :(得分:3)
你是否在某个sql编辑器中同时打开了该文件?我最近使用了名为“SQLite数据库浏览器”的程序,它锁定了我的整个sqlite数据库,我花了一些时间才知道到底发生了什么。