异步处理有时会导致MS Access查询崩溃

时间:2014-08-14 20:07:09

标签: vb.net winforms ms-access datagridview

我正在开发一个使用Access的Winform程序(不幸的是,我的公司此时并不愿意选择非共享驱动器服务器)和VB.NET。我有一个报告,它从数据库中获取并显示95%的特定交易数据。但是,有5%的时间它会崩溃。我知道它与代码本身无关,因为它崩溃时完全不管显示哪个交易。我也可以通过点击触发"查看交易"来持续崩溃程序。重复按钮(这是在尝试睡眠线程并在代码执行时禁用按钮)。

程序崩溃时的典型错误与在显示程序之前进行的数据处理有关。例如,我在数据表中为一些现金流添加了一个总行,然后在VB中总结它。然后我将它绑定到DataGridView。但是,在崩溃期间,错误消息显示我引用的第一列不存在。

有没有人想过如何让VB.NET同步对待这个?我知道Access的开始很慢,但是当它通过网络使用时会更糟(就像我的情况一样),所以我希望能够防止这种事情发生给我的用户。

由于

罗布

1 个答案:

答案 0 :(得分:0)

我认为这是并发性的,所以感谢user2864740。不过,它是以迂回的方式并发。我有几个sub子调用sub将运行一个查询然后添加一行到DataGridView。事实证明我每次都没有关闭sub中的连接,所以当我试图通过重复运行代码来“破坏”程序时,Access变得超负荷连接。最终,代码试图超越查询,因为它们无论如何都不会运行,这就是我遇到DataGridView问题的原因。

希望这有助于将来。