我的sub中的一些代码将不会执行

时间:2015-03-09 17:35:54

标签: vb.net oledb oledbdatareader

我的程序中有一个sub,如果它们的过期日期已过,则从我的访问数据库中删除项目。我正在使用oledbdatareader来查找需要删除的行。我的问题是这个sub的大部分都不会执行。我使用了一个消息框告诉我在定义了我的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 个答案:

没有答案