Некоторый код в моем сабе не будет выполняться
В моей программе есть подпрограмма, которая удаляет элементы из базы данных доступа, если истек срок их действия. Я использую 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