我有一个 C# Winforms 应用程序。应用程序的一部分提取 SQLite 表的内容并将其显示到数据网格视图的屏幕上。我似乎有多个用户/计算机正在使用该应用程序的问题。
当程序加载时,它会打开一个与 SQLite DB 引擎的连接,该连接会保持打开状态,直到用户退出程序。在加载时,它会刷新有问题的表并继续定期这样做。当一位用户正在使用该表或该一位用户打开了多个程序实例时,该表会正确更新。但是,如果不止一个人使用它,则该表似乎不会反映其他用户所做的更改,直到程序关闭并重新打开。
一个示例 - 第一个用户(用户 A)登录。该表有 5 个条目。他们加了一个。现在有6个条目。用户 B 现在登录并看到 6 个条目。用户 A 输入另一条记录,总共 7 条。即使在自动刷新之后,用户 B 也看到 6 条。并且在他们关闭并重新打开程序之前不会看到 7。用户 A 看到 7 没有任何问题。
知道什么可能导致这个问题吗?它必须与 SQLite 的数据库引擎相关,因为我 100% 确定我的自动刷新工作正常。我怀疑它与预写日志功能或连接池(我已启用)有关。我禁用了两者以查看会发生什么,并且发生了同样的问题。