3

我正在使用 SQLite 数据库编写 C# 应用程序,我收到消息:Database Locked(5)有时在我的输出日志中。我不希望这种情况发生,我知道对我的数据库执行的多个操作给了我这个例外。

问题:

有没有办法查看 SQLiteDatabase 是否正忙于处理其他查询?

4

1 回答 1

3

如果您正在创建一个多线程应用程序,那么拥有您所要求的知识不会解决任何问题。它们可能会使它们出现的频率降低,但有时您会看到与以前相同的问题。

为什么?因为从你问“你被锁了吗?”的那一刻起 在您说“在那种情况下,让我锁定您做某事”的那一刻,另一个线程可能已经跳入并锁定了它。

除非您超时,否则我会处理异常并确定每种情况下要做什么。

此外,由于 SQLite 本质上是一个单用户(而不是个人用户,而是“使用数据库的东西”中的用户)数据库,您可能会认为这不会成为该工作的错误工具。

于 2013-03-01T12:43:33.013 回答