1

我有一个这样的查询:

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 可见..所以我想检查我的 datareader 是否处于 While dr.Read 如果包含数据的阶段,那么应该可见,否则我必须使 ChkdLST.Visible = false..so 如何我可以检查是否while dr.read包含数据

4

1 回答 1

1

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

If dr.HasRows() Then
     'Code
 End If

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

于 2013-11-04T12:09:36.103 回答