Qt,如何锁定SQLite数据库进行多次操作

时间:2016-05-23 08:51:16

标签: qt sqlite qml qmutex

我有一个用户使用的QML应用程序。有一个计时器监听服务器的工作顺序,然后将所有信息插入到应用程序中的SQLite数据库。同时用户在SQLite中对数据进行更改(更新,删除等...)。 我的问题是,如何防止SQLite表上的多操作。只有一个操作必须对SQLite生效(选择,删除,插入,更新....)我不知道但是,可以使用Mutex.lock结构。或者SQLite上的多个操作是否有问题

1 个答案:

答案 0 :(得分:0)

你应该做的第一件事是阅读SQLite锁定,他们在文档中有一节关于它:https://www.sqlite.org/lockingv3.html

总结是{{1}}确实锁定了插入或更新等修改,但在读取时不会创建锁定。但是,如果在修改过程中存在锁定,则读取将无法访问数据库。

我不会太担心锁定阅读,在那个阶段分享状态应该没问题。