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



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

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

有没有人对如何获得VB有任何想法。NET同步处理这个?我知道Access一开始就很慢,但是当它在网络上使用时(就像我的情况一样)就更糟了,所以我希望能够防止这种事情发生在我的用户身上。

感谢Rob

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

希望这对将来的人有所帮助

最新更新