2014-05-08 92 views
0

我有这段代码,我写了一个数据库中是否存在记录。当找到记录时它运作良好。如果不是,则会引发错误。我想这个错误会被记录在一个消息框中,表示“找不到记录”。如何捕获oledbdatareader错误

  Dim findprinc As String = TextBox1.Text.Substring(0, 16) 
     MsgBox(findprinc) 
     sql = "Select RealID from Dets where ID like '%" & findprinc &    "%'" 
     MsgBox(sql) 
     Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Persist Security Info=false; Data Source=..\new.mdb") 
     conn.Open() 
     Dim cmd As New OleDbCommand(sql, conn) 
     Dim numeri As OleDbDataReader = cmd.ExecuteReader 
     numeri.Read() 
+0

之前,你'.Read'检查'numeri.HasRows' – Plutonix

回答

0
Dim findprinc As String = TextBox1.Text.Substring(0, 16) 
    MsgBox(findprinc) 
    Sql = "Select RealID from Dets where ID like '%" & findprinc & "%'" 
    MsgBox(Sql) 
    Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Persist Security Info=false; Data Source=..\new.mdb") 
    conn.Open() 
    Dim cmd As New OleDbCommand(Sql, conn) 
    Dim numeri As OleDbDataReader = cmd.ExecuteReader 
    Dim recordFound As Boolean = False 
    While numeri.Read 
     recordFound = True 
    End While 
    If recordFound = False Then 
     MsgBox("Record Not Found") 
    End If