尝试读取列的值时,出现错误
在没有数据的情况下无效的读取尝试
代码:
If reader.HasRows Then
name = reader("UserFirstName").ToString
MsgBox(name)
End If
reader.HasRows
返回True,但是在打印“名称”时会发生错误。
PS:表中存在UserFirstName
列名。
答案 0 :(得分:2)
即使尝试调用 HasRows 并且返回true,也需要先调用Read方法,然后再尝试从DataReader中获取内容。
需要执行Read调用,因为在执行命令以取回读取器之后,该对象不包含第一条记录中的数据,只有在Read之后,您才可以开始获取数据。
If reader.Read() Then
name = reader("UserFirstName").ToString
MsgBox(name)
End If
如您所见,您不需要调用 HasRows ,因为如果没有要读取的记录,则Read方法将直接返回false。