DataReader 对象使客户端能够从数据源中检索只读的仅向前数据流。 当查询执行时返回结果,并存储在客户端上的网络缓冲区中,直到使用 DataReader 类的 Read 方法请求它们。 若要创建 DataReader 类,请实现 IDataReader 并选择性地实现 IDataReaderExtension。 使用 DataReader 对象可提高应用程序性能,方法是在数据可用后立即检索数据,而不是等待返回查询的整个结果,并(默认情况下)在内存中只存储一行,从而减少系统开销。
创建 Command 类的实例后,通过调用 Command.ExecuteReader 从数据源检索行来创建 DataReader 对象。 DataReader 实现必须提供两项基本功能:通过执行命令并访问每行中的列类型、名称和值来获取的结果集的仅向前访问。 客户端使用 DataReader 对象的 Read 方法从查询结果中获取行。
在报表设计器中, DataReader 对象用于检索字段列表以及有关结果集的架构信息。 这可以通过实现接口的 IDataReaderGetName、GetValue、GetFieldType 和 GetOrdinal 方法来实现。
该 IDataReaderExtension 接口允许你提供有关结果集的特定聚合信息。 有关 DataReader 类实现的示例,请参阅 SQL Server Reporting Services 产品示例。