2013-11-04 56 views
0

我有這樣的查詢:檢查數據讀取器空或不是在while條件

Dim dr As SqlDataReader 
    Dim str As String = "SELECT DISTINCT Location_tbl.LocName, Location_tbl.Locid FROM Transaction_tbl" 
    Dim cmd As New SqlCommand(str, con.connect) 
      dr = cmd.ExecuteReader 
      While dr.Read 
       ChkdLST.Visible = True 
       ChkdLST.Items.Add(dr("LocName")) 
      End While 
      dr.Close() 
      con.disconnect() 

如果讀取器包含任何數據則只有我要讓chkdlst visible..so我想檢查我的DataReader爲空或不在While dr.Read的階段,如果包含數據,然後應該可見,否則我必須使ChkdLST.Visible = false..so我如何檢查while dr.read是否包含數據

+0

我會認爲這將工作(除了語法錯誤)。你是否在任何地方設置了'ChkdLST.Visible = False'? –

+0

No sir..i never set ChkdLST.Visible = False – user2951524

回答

0

即使您的數據閱讀器不會爲空不返回行。你可能想:

If dr.HasRows() Then 
    'Code 
End If 

此外,如果你的讀者有沒有行的循環將不會執行,所以如果你想要做特殊的邏輯,當讀者不返回行,請確保你把它放在Read()循環外。

相關問題