Provides a means of reading one or more forward-only streams of result sets obtained by executing a command at a data source, and is used by SQL Server Reporting Services to retrieve aggregation-specific information about a result set.
Assemblies: Microsoft.ReportingServices.Interfaces (in Microsoft.ReportingServices.Interfaces.dll)
Microsoft.ReportingServices.SharePoint.UI.WebParts (in Microsoft.ReportingServices.SharePoint.UI.WebParts.dll)
Thetype exposes the following members.
|Dispose||(Inherited from IDisposable.)|
|GetFieldType||Gets the Type information corresponding to the type of object that is returned from GetValue. (Inherited from IDataReader.)|
|GetName||Gets the name of the field to find. (Inherited from IDataReader.)|
|GetOrdinal||Return the index of the named field. (Inherited from IDataReader.)|
|GetValue||Return the value of the specified field. (Inherited from IDataReader.)|
|IsAggregationField||Indicates whether the data is aggregated by the field with the given index.|
|Read||Advances the IDataReader to the next record. (Inherited from IDataReader.)|
The interface enables you to implement an extension of the IDataReader interface, which you can use to provide a report server with aggregation information about your result set. For more information about DataReader classes, see Implementing a DataReader Class for a Data Processing Extension.
An application does not create an instance of the interface directly, but creates an instance of a class that implements .
Classes that implement must also implement the required members, and typically define additional members to add provider-specific functionality. Because inherits from , you must also implement all of the members as part of your DataReader class.
Changes made to a result set by another process or thread while data is being read may be visible to the user of a class that implements an . However, the precise behavior is both provider and timing dependent.
Users do not create an instance of a DataReader class directly. Instead, they obtain the DataReader through the ExecuteReader method of the Command object. Therefore, you should mark DataReader constructors as internal.