Vb.net Reader=comm.ExecuteReader多步骤OLE DB操作生成错误

Vb.net Reader=comm.ExecuteReader多步骤OLE DB操作生成错误,vb.net,Vb.net,我试图编写一段代码,检查我的查询是否使用Reader.HasRows属性生成行。但我被这个错误所困扰: System.Data.dll中发生类型为“System.Data.OleDb.OLEDBEException”的未处理异常 其他信息:多步骤OLE DB操作生成错误。检查每个OLE DB状态值(如果可用)。没有做任何工作 Visual Studio调试器表示错误来自以下语句: Reader=comm.ExecuteReader 代码如下: Dim Reader As OleDbDat

我试图编写一段代码,检查我的查询是否使用
Reader.HasRows
属性生成行。但我被这个错误所困扰:

System.Data.dll中发生类型为“System.Data.OleDb.OLEDBEException”的未处理异常

其他信息:多步骤OLE DB操作生成错误。检查每个OLE DB状态值(如果可用)。没有做任何工作

Visual Studio调试器表示错误来自以下语句:

Reader=comm.ExecuteReader

代码如下:

    Dim Reader As OleDbDataReader
    MyConn.ConnectionString = connString

    MyConn.Open()
    Dim checkQuery As String = "SELECT * FROM ParentandGuardian WHERE First_Name = @FirstName AND Middle_Name = @MiddleName AND Last_Name = @LastName"
    Dim comm As New OleDbCommand(checkQuery, MyConn)

    comm.Parameters.AddWithValue("@FirstName", txtFirstName)
    comm.Parameters.AddWithValue("@MiddleName", txtMiddleName)
    comm.Parameters.AddWithValue("@LastName", txtLastName)

    Reader = comm.ExecuteReader

    If (Reader.HasRows) Then
        MessageBox.Show("Match Found")
    Else
        MessageBox.Show("There are no matches found")
    End If
    MyConn.Close()

    Me.Close()

我希望您能帮助我。

您应该调查异常的
错误
属性。它是一组
OleDbError
对象,希望它能包含一些能够提供更具体信息的内容。每当抛出异常时,您应该始终查看该异常提供的所有信息。txtFirstName、txtMiddleName和txtLastName是文本框控件吗?如果是这样,您需要使用.Text属性来获取每个参数的值。谢谢大家。我真傻,竟然漏掉了。文本属性。@jmcilhinney现在可以工作了-我会记住你的建议。@KarenPayne谢谢你指出这个问题。你应该调查异常的
错误
属性。它是一组
OleDbError
对象,希望它能包含一些能够提供更具体信息的内容。每当抛出异常时,您应该始终查看该异常提供的所有信息。txtFirstName、txtMiddleName和txtLastName是文本框控件吗?如果是这样,您需要使用.Text属性来获取每个参数的值。谢谢大家。我真傻,竟然漏掉了。文本属性。@jmcilhinney现在可以用了-我会记住你的建议。@KarenPayne谢谢你指出这个问题。