在 C# 中 DataReader 类的作用是读取查询结果,与在《C# Command》一节中介绍的 Command 类中的 ExecuteReader 方法一起使用。
下面来介绍一下 DataReader 类中常用的属性和方法,以及如何使用该类查询表中的数据。
DataReader 类概述
DataReader 类在 System.Data.SqlClient 命名空间中,对应的类是 SqlDataReader,主要用于读取表中的查询结果,并且是以只读方式读取的(即不能修改 DataReader 中存放的数据)。
正是由于 DataReader 类的特殊的读取方式,其访问数据的速度比较快,占用的服务器资源比较少。
SqlDataReader 类中常用的属性和方法如下表所示。
属性或方法
说明
FieldCount
属性,获取当前行中的列数
HasRows
属性,获取 DataReader 中是否包含数据
IsClosed
属性,获取 DataReader 的状态是否为已经被关闭
Read
方法,让 DataReader 对象前进到下一条记录
Close
方法,关闭 DataReader 对象
Get XXX (int i)
方法,获取指定列的值,其中XXX代表的是数据类型。例如获取当前行第1列 double 类型的值,获取方法为GetDouble(o)
使用 DataReader 类读取查询结果
在使用 DataReader 类读取查询结果时需要注意,当查询结果仅为一条时,可以使用 if 语