我在MS Access数据库中有2个数据表。我的winform将首先执行UPDATE,然后选择SELECT。
UPDATE始终有效,即它使用文本框中的正确值正确更新数据库。
SELECT连接2个数据表。大多数情况下,SELECT从连接中返回正确的元组。但有一段时间,最后一个元组将包含部分数据,就好像UPDATE没有在那个上执行一样。
这就是我的工作。 在方法A,connection.open,update query,connection.close。
中在方法B中,连接.open,选择查询,connection.close。
我调用方法A,然后调用方法B.所以事情应该按顺序发生。
如果我在两种方法之间放置睡眠(500),则竞争条件消失。但我不明白它来自哪里......
答案 0 :(得分:3)
如果您正在使用ADO,那么它是JET的一个众所周知的“功能”。以下是Microsoft的示例,其底部有一个解决方案来同步数据库