我有PyQt应用程序,它使用SQLite文件来存储数据,并希望允许多个用户读取和写入同一个数据库。它使用QSqlDatabase和QSqlTableModels以及项目视图进行读取和编辑。
多个用户可以启动应用程序并读取/写入不同的表。问题是: 假设user1的应用程序读取表A,然后user2写入表A上的索引0,0。因为user1应用程序已经读取并缓存了该单元格,并且没有立即看到user2的更改。当dataChanged信号发出时,Qt项视图将更新,但在这种情况下,数据正被另一个应用程序实例更改。是否有某种方法可以通过其他应用程序实例触发文件更改。处理这个问题的最佳方法是什么。
我认为通过使用SQL服务器主机连接而不是SQLite来实现最佳解决方案,但在SQLite领域,什么是我最接近的解决方案选项?
由于
答案 0 :(得分:0)
SQLite没有可以通知其他用户的机制。
您必须在SQLite之外实现一些通信机制。