检查数据读取器是否为空状态

时间:2013-11-04 11:57:04

标签: vb.net

我有这样的查询:

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可见..所以我想在While dr.Read的阶段检查我的datareader是否为null如果包含数据那么应该可见其他我必须制作ChkdLST .Visible = false ..所以我如何检查while dr.read是否包含数据

1 个答案:

答案 0 :(得分:0)

即使数据阅读器没有返回任何行,它也不会为空。你可能想要:

If dr.HasRows() Then
     'Code
 End If

如果您的阅读器没有行,您的循环也永远不会执行,因此如果您想在阅读器没有返回任何行时执行特殊逻辑,请确保将其置于Read()循环之外。