0

我有 PyQt 应用程序,它使用 SQLite 文件来存储数据,并希望允许多个用户读取和写入同一个数据库。它使用带有项目视图的 QSqlDatabase 和 QSqlTableModels 进行阅读和编辑。

同样,多个用户可以启动应用程序并读取/写入不同的表。问题是这样的:假设 user1 的应用程序读取表 A,然后 user2 写入表 A 上的索引 0,0。由于 user1 应用程序已经读取并缓存了该单元格,并且没有立即看到 user2 的更改。当 dataChanged 信号发出时,Qt 项目视图将更新,但在这种情况下,数据正在被另一个应用程序实例更改。是否有某种方法可以触发另一个应用程序实例的文件更改。处理这个问题的最佳方法是什么。

我假设这确实最好通过使用 SQL 服务器主机连接而不是数据库的 SQLite 来解决,但在 SQLite 领域,我最接近的解决方法是什么?

谢谢

4

1 回答 1

0

SQLite 没有可以通知其他用户的机制。

您必须在 SQLite 之外实现一些通信机制。

于 2013-11-04T08:38:47.360 回答