SQLiteDataAdapter.Fill() останавливает все выполнение после. Исключение не возникло

#vb.net #sqlite #freeze #sqldataadapter

#vb.net #sqlite #замораживание #sqldataadapter

Вопрос:

Я создал файл базы данных SQLite, перенеся схему таблицы, строки и т.д. Из экземпляра SQL Server в Azure. Я создал класс util для заполнения объекта DataSet с использованием объекта SQLiteDataAdapter, подключенного к базе данных SQLite, с помощью инструкции (Select * FROM Users). По какой-то причине я могу просто запустить программу чтения SQLite с помощью команды SQLiteCommand, и она возвращает запрошенные строки, которые я печатаю на консоли. Однако всякий раз, когда я пытаюсь выполнить адаптер.Fill(), похоже, что ничего не происходит, и весь код, который должен быть выполнен впоследствии (не зависит от чего-либо, выполняемого самим адаптером), просто перестает что-либо делать. Исключение НЕ возникает, оно просто останавливается…

 Imports System.Data
Imports System.Data.SQLite
Imports System.Threading.Tasks

Public Class SqliteInit

    Public Function getUserDataSet()

        Dim connectionString As String = "Data Source=users1.db;Version=3;"
        Dim mSQL As String = "SELECT * FROM UserProfile;"
        Dim dataTable As New DataTable
        Dim dataSet As New DataSet
        dataSet.Tables.Add("UserProfile")

        Try

            If My.Computer.Network.IsAvailable Then
                MsgBox(" Computer is connected to the internet")

            Else
                MsgBox(" Computer is NOT connected")

                Dim SQLConn As New SQLite.SQLiteConnection(connectionString)
                Dim SQLComm As New SQLite.SQLiteCommand(mSQL, SQLConn)
                Dim adapter As New SQLiteDataAdapter(SQLComm)

                SQLConn.Open()
                adapter.Fill(dataSet, "UserProfile")
                SQLConn.Close()

                Console.WriteLine("Empty")

                Return CType(dataSet, AzureDataSet)

            End If
        Catch ex As Exception
            Return Nothing
        End Try
        Return Nothing
    End Function
End Class
  

Кажется, что все другие варианты выполнения работают с этими определенными объектами, например, я проверил, правильно ли я обращаюсь к базе данных, превратив инструкцию в insert , и, конечно же, когда я выполнил SqlCommand .Без запроса, он добавил строку. Я также использовал SQLiteReader с оператором Select, и он успешно напечатал строки.
адаптер.Заполнение, похоже, единственное, что ломается.

Комментарии:

1. Вы уверены, что никаких исключений не возникло? Вы перехватываете все исключения. Кроме того, есть ли какая-либо конкретная причина, по которой вы не используете Using инструкции?

2. Первоначально я использовал инструкции «using», затем изменил их впоследствии, думая, что это может быть причиной проблемы. В любом случае результат тот же. Спасибо, что указали, что он улавливает все исключения, я получил этот пример кода из руководства и даже еще не понял этого. Я попытаюсь распечатать исключение и трассировку стека и посмотреть, что это мне даст.

3. Я испытал то же самое.