为什么在调试输出中得到“ System.Data.SQLite.dll”的“处置异常”?

时间:2019-01-08 20:48:42

标签: vb.net sqlite

在MS Visual Studio 2015中使用SQLite包装器(版本1.0.109.2)时,有时会收到以下调试输出消息:

  

引发的异常:中的“ System.ObjectDisposedException”   System.Data.SQLite.dll

这实际上未在我的程序中生成任何异常。它继续运行。

目前,我正在单个类中使用SQLite组件,该类处理应用程序的多个数据。 SQLite交互被封装在一个私有方法中,该方法将通过此类的另一个方法进行调用。

这是什么情况:执行代码后,大约执行了50次此方法(是的,我借助一个变量对其进行计数),在调试输出窗口中显示了50条错误消息。

因此,以下示例代码将总结我对SQLite对象的用法。现在,它是静态的。

Private Sub UpdateFoo()
  ' Create object variables
  Dim objSQLite as New System.Data.SQLite.SQLiteConnection("Data Source=" & sSQLitePath & ";Version=3")
  Dim objSQLiteCmd As New System.Data.SQLite.SQLiteCommand(objSQLite)

  ' Do some magic stuff with the database ...

  ' Trash the command object.
  objSQLiteCmd.Dispose()

  ' Close DB connection and trash the SQLite object.
  objSQLite.Close()
  objSQLite.Dispose()
End Sub

那么,我该怎么办?在处置对象之前,关闭SQLite连接。这应该是正确的方法。

0 个答案:

没有答案