【问题标题】:weird MS Access problem : SELECT after UPDATE not consistent奇怪的 MS Access 问题:UPDATE 后的 SELECT 不一致
【发布时间】:2011-04-06 22:18:09
【问题描述】:

我在 MS Access 数据库中有 2 个数据表。我的 winform 会先做 UPDATE,然后再做 SELECT。

UPDATE 始终有效,即它使用文本框中的正确值正确更新数据库。

SELECT 连接 2 个数据表。大多数时候 SELECT 从连接中返回正确的元组。但是偶尔,最后一个元组会包含部分数据,就好像没有在那个元组上执行 UPDATE 一样。

这就是我所做的。 方法A中,connection.open,更新查询,connection.close。

在方法B中,connection.open,选择查询,connection.close。

我调用方法 A,然后调用方法 B。所以事情应该按顺序发生。

如果我将 sleep(500) 放在这两种方法之间,竞争条件就消失了。但我不明白它来自哪里......

【问题讨论】:

  • 迁移到 SQL Server 不是一种选择? :-)
  • 您使用什么来运行查询?如果停止关闭查询之间的连接,是否消除了竞争条件?尝试connection.open,更新查询,选择查询,connection.close。
  • 如果在方法 A 和 B 中重复使用单个连接(而不是在每个方法中独立打开和关闭连接)会发生什么?
  • 引用@HansUp 的建议,重点是 Jet/ACE 更适用于持久连接,因为它是基于文件的,而不是数据库服务器。

标签: winforms ms-access select


【解决方案1】:

如果您使用的是 ADO,那么它是 JET 的一个众所周知的“功能”。这是微软的一个例子,底部有一个同步数据库的解决方案

http://support.microsoft.com/kb/200300

【讨论】:

    猜你喜欢
    • 2011-02-02
    • 2016-08-07
    • 1970-01-01
    • 2012-01-20
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多