Почему я получаю «Исключенные исключения» для «System.Data.SQLite.dll» в выводе отладки? - PullRequest
0 голосов
/ 08 января 2019

При использовании оболочки SQLite (версия 1.0.109.2) в MS Visual Studio 2015 время от времени я получаю следующее сообщение об отладке:

Исключение: «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 закрывается до удаления объекта. Это должен быть правильный подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...