[英]SQLite database update in C++
我有一個應用程序,用於顯示數據庫中的數據。 實際上,我們可以說它是數據庫編輯器。
現在,我想在此打開的數據庫上執行更新/刪除命令。 使用以下命令,數據庫成功打開。
int nRet = sqlite3_open(szFile, &mpDB);
從C#(.net api)我可以從數據庫更新數據
dbCmd5 = New SQLiteCommand(
"update Tbl_Tmp_Cal_Res Load_Time=5 WHERE Part_Index= 5", g_dbFlow);
dbCmd5.ExecuteNonQuery()
但是從C ++我得到錯誤5(數據庫已鎖定)
C ++代碼
int nRet = sqlite3_open(szFile, &mpDB);//database opened successfully.
sqlite3_exec(mpDB, "UPDATE query", 0, 0, &szError);//Error for this statement
在應用程序中不使用多線程。
數據庫是否在代碼中的其他位置使用? 由於顯然其他原因似乎已將數據庫鎖定,因此我猜您正在代碼中其他位置使用數據庫,而忘記了對select語句或類似對象調用sqlite3_finalize。
也許您忘記了身份驗證步驟(用戶名/密碼等)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.