2014-01-24 3 views
1

SQL compact 3.5 데이터베이스의 열을 실행할 때 데이터 판독기가 행을 반환하는지 확인하려면 어떤 함수를 사용해야합니까? 레코드를 스크롤 할 수없는 경우 SQL 압축 판에서 .hasrows를 지원하지 않는다고 말하는 dr.hasrows가이 오류를 발생시킵니다. 그리고 datareader.executeresultset을 사용할 때 resultsetoption.scrollable을 사용하면 레코드가 분명히 제거하려고 할 때 "행/열에 대한 데이터가 없습니다"오류가 발생합니다. 데이터베이스에 레코드가 있습니다. 그리고 대해서 typeof DataReader를 ("의 ColumnName은") 인 경우 DBNULL을 사용하여이 예처럼, 아무것도하지 않는 :데이터 판독기에서 행을 반환하는지 확인

While dr.Read 
     If Not TypeOf dr("LibrarianID") Is DBNull Then 
      If dr("LibrarianID") = txtUserID.Text And dr("LibrarianPassword") = txtPassword.Text Then 
       MsgBox("Successfully logged in.", MsgBoxStyle.Information, "Logged in to library") 
       Me.Hide() 
       main.tslUserLoggedIn.Text = dr("FirstName") & " " & dr("MI") & " " & dr("LastName") 
       main.tslPosition.Text = "Librarian" 
       main.Show() 
      Else 
       MsgBox("Username and password mismatch!", MsgBoxStyle.Critical, "Login error") 
      End If 

     Else 
      MsgBox("User not found!", MsgBoxStyle.Critical, "Login error") 
     End If 
    End While 

답변

0

하나 개의 기록을 기대하는 경우, 시도 : 좋아

If dr.Read Then 
    If dr("LibrarianID") IsNot Nothing Then 
    // something... 
    End If 
Else 
    // no records 
End If 
+0

을! 매력처럼 작동합니다. 고마워! –

관련 문제