IDataReader Interface

 

Updated: February 25, 2016

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 : IDisposable

NameDescription
System_CAPS_pubpropertyFieldCount

Gets the number of fields in the data reader.

NameDescription
System_CAPS_pubmethodDispose()

(Inherited from IDisposable.)

System_CAPS_pubmethodGetFieldType(Int32)

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

System_CAPS_pubmethodGetName(Int32)

Gets the name of the field to find.

System_CAPS_pubmethodGetOrdinal(String)

Return the index of the named field.

System_CAPS_pubmethodGetValue(Int32)

Return the value of the specified field.

System_CAPS_pubmethodRead()

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.

Return to top
Show: