IDataReader Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona un medio para leer una o más secuencias de solo hacia delante de conjuntos de resultados que se obtienen al ejecutar un comando en un origen de datos y se implementa mediante proveedores de datos .NET que tienen acceso a bases de datos relacionales.
public interface class IDataReader : IDisposable, System::Data::IDataRecord
public interface IDataReader : IDisposable, System.Data.IDataRecord
type IDataReader = interface
interface IDataRecord
interface IDisposable
type IDataReader = interface
interface IDisposable
interface IDataRecord
Public Interface IDataReader
Implements IDataRecord, IDisposable
- Derivado
- Implementaciones
Ejemplos
En el ejemplo siguiente se crean instancias de las clases derivadas, SqlConnection, SqlCommandy SqlDataReader. En el ejemplo se leen los datos y se escribe en la consola. Por último, el ejemplo cierra ySqlDataReader, a continuación, .SqlConnection
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())
{
ReadSingleRow((IDataRecord)reader);
}
// Call Close when done reading.
reader.Close();
}
}
private static void ReadSingleRow(IDataRecord dataRecord)
{
Console.WriteLine(String.Format("{0}, {1}", dataRecord[0], dataRecord[1]));
}
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()
ReadSingleRow(CType(reader, IDataRecord))
End While
' Call Close when done reading.
reader.Close()
End Using
End Sub
Private Sub ReadSingleRow(ByVal record As IDataRecord)
Console.WriteLine(String.Format("{0}, {1}", record(0), record(1)))
End Sub
Comentarios
Las IDataReader interfaces y IDataRecord permiten que una clase heredada implemente una DataReader
clase , lo que proporciona un medio para leer uno o varios flujos de resultados de solo avance. Para obtener más información sobre DataReader
las clases, vea Recuperación de datos mediante un objeto DataReader.
Una aplicación no crea una instancia de la IDataReader interfaz directamente, sino que crea una instancia de una clase que hereda IDataReader.
Las clases que heredan IDataReader deben implementar los miembros heredados y normalmente definir miembros adicionales para agregar funcionalidad específica del proveedor.
Los cambios realizados en un conjunto de resultados por otro proceso o subproceso mientras se leen los datos pueden ser visibles para el usuario de una clase que implementa un IDataReader
. Sin embargo, el comportamiento preciso es dependiente del proveedor y del tiempo.
Notas a los implementadores
Para promover la coherencia entre los proveedores de datos de .NET Framework, asigne un nombre a la clase heredada en el formulario Prv
Command , donde Prv
es el prefijo uniforme proporcionado a todas las clases de un espacio de nombres específico del proveedor de datos de .NET Framework. Por ejemplo, Sql
es el prefijo de la SqlDataAdapter clase en el System.Data.SqlClient
espacio de nombres .
Los usuarios no crean una instancia de una DataReader
clase directamente. En su lugar, obtienen la DataReader
instancia a través del ExecuteReader
método del Command
objeto . Por lo tanto, debe marcar DataReader
constructores como internos.
Propiedades
Depth |
Obtiene un valor que indica la profundidad de anidamiento de la fila actual. |
FieldCount |
Obtiene el número de columnas de la fila actual. (Heredado de IDataRecord) |
IsClosed |
Obtiene un valor que indica si el lector de datos está cerrado. |
Item[Int32] |
Obtiene la columna que está ubicada en el índice especificado. (Heredado de IDataRecord) |
Item[String] |
Obtiene la columna con el nombre especificado. (Heredado de IDataRecord) |
RecordsAffected |
Obtiene el número de filas cambiadas, insertadas o eliminadas mediante la ejecución de la instrucción SQL. |
Métodos
Close() |
Cierra el objeto IDataReader. |
Dispose() |
Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados. (Heredado de IDisposable) |
GetBoolean(Int32) |
Obtiene el valor de la columna especificada como tipo Boolean. (Heredado de IDataRecord) |
GetByte(Int32) |
Obtiene el valor del entero con signo de 8 bits de la columna especificada. (Heredado de IDataRecord) |
GetBytes(Int32, Int64, Byte[], Int32, Int32) |
Lee una secuencia de bytes del desplazamiento de columna especificado en el búfer como una matriz, comenzando en el desplazamiento de búfer dado. (Heredado de IDataRecord) |
GetChar(Int32) |
Obtiene el valor de carácter de la columna especificada. (Heredado de IDataRecord) |
GetChars(Int32, Int64, Char[], Int32, Int32) |
Lee una secuencia de caracteres del desplazamiento de columna especificado en el búfer como una matriz, comenzando en el desplazamiento de búfer dado. (Heredado de IDataRecord) |
GetData(Int32) |
Devuelve un IDataReader para el ordinal de columna especificado. (Heredado de IDataRecord) |
GetDataTypeName(Int32) |
Obtiene la información de tipo de datos para el campo especificado. (Heredado de IDataRecord) |
GetDateTime(Int32) |
Obtiene el valor de datos de fecha y hora del campo especificado. (Heredado de IDataRecord) |
GetDecimal(Int32) |
Obtiene el valor numérico de posición fija del campo especificado. (Heredado de IDataRecord) |
GetDouble(Int32) |
Obtiene número de punto flotante de doble precisión del campo especificado. (Heredado de IDataRecord) |
GetFieldType(Int32) |
Obtiene la información Type correspondiente al tipo de Object que sería devuelto desde GetValue(Int32). (Heredado de IDataRecord) |
GetFloat(Int32) |
Obtiene número de punto flotante de precisión sencilla del campo especificado. (Heredado de IDataRecord) |
GetGuid(Int32) |
Devuelve el valor GUID del campo especificado. (Heredado de IDataRecord) |
GetInt16(Int32) |
Obtiene el valor del entero con signo de 16 bits del campo especificado. (Heredado de IDataRecord) |
GetInt32(Int32) |
Obtiene el valor del entero con signo de 32 bits del campo especificado. (Heredado de IDataRecord) |
GetInt64(Int32) |
Obtiene el valor del entero con signo de 64 bits del campo especificado. (Heredado de IDataRecord) |
GetName(Int32) |
Obtiene el nombre del campo para buscar. (Heredado de IDataRecord) |
GetOrdinal(String) |
Devuelve el índice del campo con nombre. (Heredado de IDataRecord) |
GetSchemaTable() |
Devuelve un objeto DataTable que describe los metadatos de columna del IDataReader. Devuelve |
GetString(Int32) |
Obtiene el valor de cadena del campo especificado. (Heredado de IDataRecord) |
GetValue(Int32) |
Devuelve el valor del campo especificado. (Heredado de IDataRecord) |
GetValues(Object[]) |
Rellena una matriz de objetos con los valores de columna del registro actual. (Heredado de IDataRecord) |
IsDBNull(Int32) |
Devuelve si el campo especificado está establecido en null. (Heredado de IDataRecord) |
NextResult() |
Hace avanzar el lector de datos hasta el resultado siguiente, cuando se leen los resultados instrucciones SQL por lotes. |
Read() |
Desplaza IDataReader al siguiente registro. |