IDataReader 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 implemented by Reporting Services Data Processing Extensions that access relational databases.

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


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

The IDataReader type exposes the following members.


  Name Description
Public property FieldCount Gets the number of fields in the data reader.



  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.
Public method GetName Gets the name of the field to find.
Public method GetOrdinal Return the index of the named field.
Public method GetValue Return the value of the specified field.
Public method Read Advances the IDataReader to the next record.



The IDataReader interface enables you to implement a DataReader class, which provides a means of reading one or more forward-only streams of result sets. 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 IDataReader interface directly, but creates an instance of a class that implements IDataReader.

Classes that implement IDataReader must also implement the required members, and typically define additional members to add provider-specific functionality.

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 IDataReader. 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.