0
我得到這個錯誤「QSqlError("5", "Unable to fetch row", "database is locked")
」QSqlError(「5」,「無法抓取行」,「數據庫被鎖定」)
我已經做了我的研究,我認爲從事實的問題出現了,我我正在執行INSERT
查詢,而SELECT
查詢仍處於活動狀態,這會鎖定數據庫。現在我想象會經常遇到這個問題,因爲通常根據SELECT
查詢的輸出寫入數據庫,所以我想問一下解決這個問題的最好方法是什麼?在關閉query.finish()
以解鎖數據庫後,我能夠獲取查詢(使用query.next()
)嗎?或者我應該將結果存儲在臨時容器中,關閉查詢然後遍歷臨時容器?
非常感謝你提前
的「數據庫被鎖定」發生錯誤時,纔會有*有一個活動事務的另一個*連接。但無論如何,如果您修改了當前正在閱讀的數據,則結果是未指定的。 –
您能否詳細說明「結果未指定」? –
結果行可以直接從表中讀取,也可以從臨時排序列表或索引讀取。因此,當您在遍歷表時進行更改時,可能會丟失或重複條目。 –