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.
Assemblies: Microsoft.ReportingServices.Interfaces (in Microsoft.ReportingServices.Interfaces.dll)
Microsoft.ReportingServices.SharePoint.UI.WebParts (in Microsoft.ReportingServices.SharePoint.UI.WebParts.dll)
'Declaration Public Interface IDataReader _ Inherits IDisposable 'Usage Dim instance As IDataReader
public interface IDataReader : IDisposable
public interface class IDataReader : IDisposable
type IDataReader = interface interface IDisposable end
public interface IDataReader extends IDisposable
The IDataReader type exposes the following members.
|FieldCount||Gets the number of fields in the data reader.|
|Dispose||(Inherited from IDisposable.)|
|GetFieldType||Gets the Type information corresponding to the type of object that is returned from GetValue.|
|GetName||Gets the name of the field to find.|
|GetOrdinal||Return the index of the named field.|
|GetValue||Return the value of the specified field.|
|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.