簡體   English   中英

C ++中的SQLite數據庫更新

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM