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

public interface class IDataReader : IDisposable
public interface IDataReader : IDisposable
Public Interface IDataReader
Implements IDisposable


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.


FieldCount FieldCount FieldCount

Gets the number of fields in the data reader.


GetFieldType(Int32) GetFieldType(Int32) GetFieldType(Int32)

Gets the Type information corresponding to the type of object that is returned from GetValue(Int32).

GetName(Int32) GetName(Int32) GetName(Int32)

Gets the name of the field to find.

GetOrdinal(String) GetOrdinal(String) GetOrdinal(String)

Return the index of the named field.

GetValue(Int32) GetValue(Int32) GetValue(Int32)

Return the value of the specified field.

Read() Read() Read()

Advances the IDataReader to the next record.

Applies to