在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连接。这应该是正确的方法。