.NET Framework Class Library 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 .NET Framework data providers that access relational databases.
Namespace:
System.Data
Assembly:
System.Data (in System.Data.dll)

Syntax
Public Interface IDataReader _
Inherits IDisposable, IDataRecord
public interface IDataReader : IDisposable,
IDataRecord
public interface class IDataReader : IDisposable,
IDataRecord
type IDataReader =
interface
interface IDisposable
interface IDataRecord
end
The IDataReader type exposes the following members.

Properties

Remarks
The IDataReader and IDataRecord interfaces allow an inheriting class 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 Retrieving Data Using a DataReader (ADO.NET). An application does not create an instance of the IDataReader interface directly, but creates an instance of a class that inherits IDataReader. Classes that inherit IDataReader must implement the inherited 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. Notes to ImplementersTo promote consistency among .NET Framework data providers, name the inheriting class in the form Prv Command where Prv is the uniform prefix given to all classes in a specific .NET Framework data provider namespace. For example, Sql is the prefix of the SqlDataAdapter class in the System.Data.SqlClient namespace. Users do not create an instance of a DataReader class directly. Instead, they obtain the DataReader instance through the ExecuteReader method of the Command object. Therefore, you should mark DataReader constructors as internal.

Examples
The following example creates instances of the derived classes, SqlConnection, SqlCommand, and SqlDataReader. The example reads through the data, writing it out to the console. Finally, the example closes the SqlDataReader, then the SqlConnection.
Private Sub ReadOrderData(ByVal connectionString As String)
Dim queryString As String = _
"SELECT OrderID, CustomerID FROM dbo.Orders;"
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
' Call Read before accessing data.
While reader.Read()
Console.WriteLine(String.Format("{0}, {1}", _
reader(0), reader(1)))
End While
' Call Close when done reading.
reader.Close()
End Using
End Sub
private static void ReadOrderData(string connectionString)
{
string queryString =
"SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlCommand command =
new SqlCommand(queryString, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
// Call Read before accessing data.
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}",
reader[0], reader[1]));
}
// Call Close when done reading.
reader.Close();
}
}

Version Information
.NET FrameworkSupported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0 .NET Framework Client ProfileSupported in: 4, 3.5 SP1

Platforms
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role not supported), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

See Also
|
Biblioteca de clases de .NET Framework IDataReader (Interfaz) Proporciona un medio para leer una o más secuencias de sólo avance de conjuntos de resultados obtenidos mediante la ejecución de un comando en un origen de datos. La implementan los proveedores de datos de .NET Framework que tienen acceso a bases de datos relacionales.
Espacio de nombres:
System.Data
Ensamblado:
System.Data (en System.Data.dll)

Sintaxis
Public Interface IDataReader _
Inherits IDisposable, IDataRecord
public interface IDataReader : IDisposable,
IDataRecord
public interface class IDataReader : IDisposable,
IDataRecord
type IDataReader =
interface
interface IDisposable
interface IDataRecord
end
El tipo IDataReader expone los siguientes miembros.

Comentarios
Las interfaces IDataReader y IDataRecord permiten que una clase heredera implemente una clase DataReader, lo que proporciona un medio para leer una o más secuencias de desplazamiento sólo hacia delante de conjuntos de resultados. Para obtener más información sobre las clases DataReader, vea Recuperar datos mediante DataReader (ADO.NET). Una aplicación no crea una instancia de la interfaz IDataReader directamente, sino que la crea de una clase que hereda de IDataReader. Las clases que heredan de IDataReader deben implementar los miembros heredados y suelen definir miembros adicionales para agregar la funcionalidad específica de proveedor. Los cambios realizados en un conjunto de resultados por otro proceso o subproceso mientras se están leyendo los datos pueden ser visibles para el usuario de una clase que implementa un objeto IDataReader. Sin embargo, el comportamiento preciso depende del proveedor y del tiempo. Notas para los implementadoresPara potenciar la coherencia entre los proveedores de datos de .NET Framework, asigne a la clase heredada un nombre con el formato Prv Command, donde Prv es el prefijo uniforme que se asigna a todas las clases de un espacio de nombres de proveedor de datos de .NET Framework específico. Por ejemplo, Sql es el prefijo de la clase SqlDataAdapter en el espacio de nombres System.Data.SqlClient. Los usuarios no crean directamente una instancia de la clase DataReader. En su lugar, obtienen la instancia de DataReader mediante el método ExecuteReader del objeto Command. Por tanto, se deben marcar los constructores de DataReader como internos.

Ejemplos
En el ejemplo siguiente se crean instancias de las clases derivadas SqlConnection, SqlCommand y SqlDataReader. En el ejemplo se leen los datos y se escriben en la consola. Por último, el ejemplo cierra SqlDataReader y, a continuación, SqlConnection.
Private Sub ReadOrderData(ByVal connectionString As String)
Dim queryString As String = _
"SELECT OrderID, CustomerID FROM dbo.Orders;"
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
' Call Read before accessing data.
While reader.Read()
Console.WriteLine(String.Format("{0}, {1}", _
reader(0), reader(1)))
End While
' Call Close when done reading.
reader.Close()
End Using
End Sub
private static void ReadOrderData(string connectionString)
{
string queryString =
"SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlCommand command =
new SqlCommand(queryString, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
// Call Read before accessing data.
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}",
reader[0], reader[1]));
}
// Call Close when done reading.
reader.Close();
}
}

Información de versión
.NET FrameworkCompatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0 .NET Framework Client ProfileCompatible con: 4, 3.5 SP1

Plataformas
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Vea también
|