IDataReaderExtension Interface

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.

Namespace:  Microsoft.ReportingServices.DataProcessing
Assemblies:   Microsoft.ReportingServices.SharePoint.UI.WebParts (in Microsoft.ReportingServices.SharePoint.UI.WebParts.dll)
  Microsoft.ReportingServices.Interfaces (in Microsoft.ReportingServices.Interfaces.dll)


Public Interface IDataReaderExtension _
    Inherits IDataReader, IDisposable
Dim instance As IDataReaderExtension
public interface IDataReaderExtension : IDataReader, 
public interface class IDataReaderExtension : IDataReader, 
type IDataReaderExtension =  
        interface IDataReader
        interface IDisposable
public interface IDataReaderExtension extends IDataReader, IDisposable

The IDataReaderExtension type exposes the following members.


  Name Description
Public property AggregationFieldCount Gets the number of fields by which the data is aggregated.
Public property FieldCount Gets the number of fields in the data reader. (Inherited from IDataReader.)
Public property IsAggregateRow Indicates whether the current row contains aggregate data.



  Name Description
Public method Dispose (Inherited from IDisposable.)
Public method GetFieldType Gets the Type information corresponding to the type of object that is returned from GetValue. (Inherited from IDataReader.)
Public method GetName Gets the name of the field to find. (Inherited from IDataReader.)
Public method GetOrdinal Return the index of the named field. (Inherited from IDataReader.)
Public method GetValue Return the value of the specified field. (Inherited from IDataReader.)
Public method IsAggregationField Indicates whether the data is aggregated by the field with the given index.
Public method Read Advances the IDataReader to the next record. (Inherited from IDataReader.)



The IDataReaderExtension 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 IDataReaderExtension interface directly, but creates an instance of a class that implements IDataReaderExtension.

Classes that implement IDataReaderExtension must also implement the required members, and typically define additional members to add provider-specific functionality. Because IDataReaderExtension inherits from IDataReaderExtension, you must also implement all of the IDataReaderExtension 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 IDataReaderExtension. 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.