Некоторый код в моем сабе не будет выполняться

В моей программе есть подпрограмма, которая удаляет элементы из базы данных доступа, если истек срок их действия. Я использую oledbdatareader, чтобы найти строки, которые нужно удалить. Моя проблема в том, что большая часть этого саба не будет выполняться. Я использовал окно сообщения, чтобы сообщить мне, что код не запускается после того, как я определил мой datareader.

Я использовал этот же код во многих других функциях и формах, и он отлично работает, но по какой-то причине в этом разделе это не так. Кто-нибудь может увидеть мою проблему?

Private Sub AutoDate()
    Using connection As New OleDbConnection(connectionstring)
        connection.Open()

        Dim Command As New OleDbCommand("SELECT ExpirationDate FROM Iventory", connection)
        Dim Command2 As New OleDbCommand("DELETE FROM Inventory WHERE ExpirationDate = @p1", connection)

        MessageBox.Show("Got here") 'This messagebox shows
        Dim Reader As OleDbDataReader = Command.ExecuteReader()
        MessageBox.Show("Got here") 'This messagebox does not show

        While Reader.Read()
                Dim ExpDate As DateTime = Reader.Item("ExpirationDate")
                Command2.Parameters.AddWithValue("@p1", ExpDate)

                If ExpDate.ToString < System.DateTime.Today.ToString Then
                    Dim cmd = Command2.ExecuteNonQuery()
                    If cmd > 0 Then
                        MessageBox.Show("Out of date items have been removed from database")
                    Else
                        Exit Sub
                    End If
                End If
        End While
        connection.Close()
    End Using
End Sub

0 ответов

Другие вопросы по тегам