SqlDataReader Clase
Collapse the table of content
Expand the table of content
Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

SqlDataReader (Clase)

 

Proporciona una forma de leer una secuencia de filas sólo hacia delante en una base de datos de SQL Server.Esta clase no puede heredarse.

Espacio de nombres:   System.Data.SqlClient
Ensamblado:  System.Data (en System.Data.dll)


public class SqlDataReader : DbDataReader, IDataReader, IDisposable, 
	IDataRecord

NombreDescripción
System_CAPS_protpropertyConnection

Obtiene el objeto SqlConnection asociado a SqlDataReader.

System_CAPS_pubpropertyDepth

Obtiene un valor que indica la profundidad del anidamiento de la fila actual.(Reemplaza a DbDataReader.Depth).

System_CAPS_pubpropertyFieldCount

Obtiene el número de columnas de la fila actual.(Reemplaza a DbDataReader.FieldCount).

System_CAPS_pubpropertyHasRows

Obtiene un valor que indica si el objeto SqlDataReader contiene una o varias filas.(Reemplaza a DbDataReader.HasRows).

System_CAPS_pubpropertyIsClosed

Recupera un valor de tipo Boolean que indica si se ha cerrado la instancia de SqlDataReader especificada. (Reemplaza a DbDataReader.IsClosed).

System_CAPS_pubpropertyItem[Int32]

Obtiene el valor de la columna especificada en su formato nativo si se da el índice de columna.(Reemplaza a DbDataReader.Item[Int32]).

System_CAPS_pubpropertyItem[String]

Obtiene el valor de la columna especificada en su formato nativo si se da el nombre de la columna.(Reemplaza a DbDataReader.Item[String]).

System_CAPS_pubpropertyRecordsAffected

Obtiene el número de filas cambiadas, insertadas o eliminadas por la ejecución de una instrucción de Transact-SQL.(Reemplaza a DbDataReader.RecordsAffected).

System_CAPS_pubpropertyVisibleFieldCount

Obtiene el número de campos de SqlDataReader que no están ocultos. (Reemplaza a DbDataReader.VisibleFieldCount).

NombreDescripción
System_CAPS_pubmethodClose()

Cierra el objeto SqlDataReader.(Reemplaza a DbDataReader.Close()).

System_CAPS_pubmethodCreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.(Heredado de MarshalByRefObject.)

System_CAPS_pubmethodDispose()

Libera todos los recursos usados por la instancia actual de la clase DbDataReader.(Heredado de DbDataReader.)

System_CAPS_protmethodDispose(Boolean)

Libera los recursos no administrados que utiliza DbDataReader y, opcionalmente, también libera los recursos administrados.(Heredado de DbDataReader.)

System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object.)

System_CAPS_protmethodFinalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Heredado de Object.)

System_CAPS_pubmethodGetBoolean(Int32)

Obtiene el valor de la columna especificada como tipo Boolean.(Reemplaza a DbDataReader.GetBoolean(Int32)).

System_CAPS_pubmethodGetByte(Int32)

Obtiene el valor de la columna especificada como byte.(Reemplaza a DbDataReader.GetByte(Int32)).

System_CAPS_pubmethodGetBytes(Int32, Int64, Byte[], Int32, Int32)

Lee una secuencia de bytes a partir del desplazamiento de la columna especificada en el búfer como una matriz que se inicia en el desplazamiento del búfer dado.(Reemplaza a DbDataReader.GetBytes(Int32, Int64, Byte[], Int32, Int32)).

System_CAPS_pubmethodGetChar(Int32)

Obtiene el valor de la columna especificada como un único carácter.(Reemplaza a DbDataReader.GetChar(Int32)).

System_CAPS_pubmethodGetChars(Int32, Int64, Char[], Int32, Int32)

Lee una secuencia de caracteres del desplazamiento de columna que se haya especificado en el búfer como matriz, comenzando en el desplazamiento de búfer dado.(Reemplaza a DbDataReader.GetChars(Int32, Int64, Char[], Int32, Int32)).

System_CAPS_pubmethodGetData(Int32)

Devuelve un objeto DbDataReader para el índice de columna solicitado.(Heredado de DbDataReader.)

System_CAPS_pubmethodGetDataTypeName(Int32)

Obtiene una cadena que representa el tipo de datos de la columna especificada.(Reemplaza a DbDataReader.GetDataTypeName(Int32)).

System_CAPS_pubmethodGetDateTime(Int32)

Obtiene el valor de la columna especificada como objeto DateTime.(Reemplaza a DbDataReader.GetDateTime(Int32)).

System_CAPS_pubmethodGetDateTimeOffset(Int32)

Recupera el valor de la columna especificada como objeto DateTimeOffset.

System_CAPS_protmethodGetDbDataReader(Int32)

Devuelve un objeto DbDataReader para el índice de columna solicitado que se puede reemplazar con una implementación específica del proveedor.(Heredado de DbDataReader.)

System_CAPS_pubmethodGetDecimal(Int32)

Obtiene el valor de la columna especificada como objeto Decimal.(Reemplaza a DbDataReader.GetDecimal(Int32)).

System_CAPS_pubmethodGetDouble(Int32)

Obtiene el valor de la columna especificada como un número de punto flotante de precisión doble.(Reemplaza a DbDataReader.GetDouble(Int32)).

System_CAPS_pubmethodGetEnumerator()

Devuelve un IEnumerator que recorre en iteración SqlDataReader.(Reemplaza a DbDataReader.GetEnumerator()).

System_CAPS_pubmethodGetFieldType(Int32)

Obtiene el objeto Type que es el tipo de datos del objeto.(Reemplaza a DbDataReader.GetFieldType(Int32)).

System_CAPS_pubmethodGetFieldValue<T>(Int32)

Obtiene de forma sincrónica el valor de la columna especificada como un tipo. GetFieldValueAsync<T> es la versión asincrónica de este método.(Reemplaza a DbDataReader.GetFieldValue<T>(Int32)).

System_CAPS_pubmethodGetFieldValueAsync<T>(Int32)

Obtiene de forma asincrónica el valor de la columna especificada como un tipo.(Heredado de DbDataReader.)

System_CAPS_pubmethodGetFieldValueAsync<T>(Int32, CancellationToken)

Obtiene de forma asincrónica el valor de la columna especificada como un tipo. GetFieldValue<T> es la versión sincrónica de este método.(Reemplaza a DbDataReader.GetFieldValueAsync<T>(Int32, CancellationToken)).

System_CAPS_pubmethodGetFloat(Int32)

Obtiene el valor de la columna especificada como un número de punto flotante de precisión sencilla.(Reemplaza a DbDataReader.GetFloat(Int32)).

System_CAPS_pubmethodGetGuid(Int32)

Obtiene el valor de la columna especificada en forma de identificador global único (GUID).(Reemplaza a DbDataReader.GetGuid(Int32)).

System_CAPS_pubmethodGetHashCode()

Sirve como una función hash para un tipo en particular. (Heredado de Object.)

System_CAPS_pubmethodGetInt16(Int32)

Obtiene el valor de la columna especificada como un entero de 16 bits con signo.(Reemplaza a DbDataReader.GetInt16(Int32)).

System_CAPS_pubmethodGetInt32(Int32)

Obtiene el valor de la columna especificada como un entero de 32 bits con signo.(Reemplaza a DbDataReader.GetInt32(Int32)).

System_CAPS_pubmethodGetInt64(Int32)

Obtiene el valor de la columna especificada como un entero de 64 bits con signo.(Reemplaza a DbDataReader.GetInt64(Int32)).

System_CAPS_pubmethodGetLifetimeService()

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.(Heredado de MarshalByRefObject.)

System_CAPS_pubmethodGetName(Int32)

Obtiene el nombre de la columna especificada.(Reemplaza a DbDataReader.GetName(Int32)).

System_CAPS_pubmethodGetOrdinal(String)

Obtiene el índice de columna a partir del nombre de la columna determinado.(Reemplaza a DbDataReader.GetOrdinal(String)).

System_CAPS_pubmethodGetProviderSpecificFieldType(Int32)

Obtiene un Object que es una representación del tipo de campo específico del proveedor subyacente.(Reemplaza a DbDataReader.GetProviderSpecificFieldType(Int32)).

System_CAPS_pubmethodGetProviderSpecificValue(Int32)

Obtiene un Object que es una representación del valor específico del proveedor subyacente.(Reemplaza a DbDataReader.GetProviderSpecificValue(Int32)).

System_CAPS_pubmethodGetProviderSpecificValues(Object[])

Obtiene una matriz de objetos que son una representación de los valores específicos del proveedor subyacentes.(Reemplaza a DbDataReader.GetProviderSpecificValues(Object[])).

System_CAPS_pubmethodGetSchemaTable()

Devuelve una DataTable que describe los metadatos de columna del SqlDataReader.(Reemplaza a DbDataReader.GetSchemaTable()).

System_CAPS_pubmethodGetSqlBinary(Int32)

Obtiene el valor de la columna especificada en forma de SqlBinary.

System_CAPS_pubmethodGetSqlBoolean(Int32)

Obtiene el valor de la columna especificada en forma de SqlBoolean.

System_CAPS_pubmethodGetSqlByte(Int32)

Obtiene el valor de la columna especificada en forma de SqlByte.

System_CAPS_pubmethodGetSqlBytes(Int32)

Obtiene el valor de la columna especificada en forma de SqlBytes.

System_CAPS_pubmethodGetSqlChars(Int32)

Obtiene el valor de la columna especificada en forma de SqlChars.

System_CAPS_pubmethodGetSqlDateTime(Int32)

Obtiene el valor de la columna especificada en forma de SqlDateTime.

System_CAPS_pubmethodGetSqlDecimal(Int32)

Obtiene el valor de la columna especificada en forma de SqlDecimal.

System_CAPS_pubmethodGetSqlDouble(Int32)

Obtiene el valor de la columna especificada en forma de SqlDouble.

System_CAPS_pubmethodGetSqlGuid(Int32)

Obtiene el valor de la columna especificada en forma de SqlGuid.

System_CAPS_pubmethodGetSqlInt16(Int32)

Obtiene el valor de la columna especificada en forma de SqlInt16.

System_CAPS_pubmethodGetSqlInt32(Int32)

Obtiene el valor de la columna especificada en forma de SqlInt32.

System_CAPS_pubmethodGetSqlInt64(Int32)

Obtiene el valor de la columna especificada en forma de SqlInt64.

System_CAPS_pubmethodGetSqlMoney(Int32)

Obtiene el valor de la columna especificada en forma de SqlMoney.

System_CAPS_pubmethodGetSqlSingle(Int32)

Obtiene el valor de la columna especificada en forma de SqlSingle.

System_CAPS_pubmethodGetSqlString(Int32)

Obtiene el valor de la columna especificada en forma de SqlString.

System_CAPS_pubmethodGetSqlValue(Int32)

Devuelve el valor de datos de la columna especificada como tipo de SQL Server.

System_CAPS_pubmethodGetSqlValues(Object[])

Rellena una matriz de Object que contiene los valores de todas las columnas en el registro, expresados como tipos de SQL Server.

System_CAPS_pubmethodGetSqlXml(Int32)

Obtiene el valor de la columna especificada como un valor XML.

System_CAPS_pubmethodGetStream(Int32)

Recupera los tipos de datos binary, image, varbinary, UDT y variant como Stream.(Reemplaza a DbDataReader.GetStream(Int32)).

System_CAPS_pubmethodGetString(Int32)

Obtiene el valor de la columna especificada como una cadena.(Reemplaza a DbDataReader.GetString(Int32)).

System_CAPS_pubmethodGetTextReader(Int32)

Recupera los tipos de datos Char, NChar, NText, NVarChar, text, varChar y Variant como TextReader.(Reemplaza a DbDataReader.GetTextReader(Int32)).

System_CAPS_pubmethodGetTimeSpan(Int32)

Recupera el valor de la columna especificada como objeto TimeSpan.

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual. (Heredado de Object.)

System_CAPS_pubmethodGetValue(Int32)

Obtiene el valor de la columna especificada en su formato nativo.(Reemplaza a DbDataReader.GetValue(Int32)).

System_CAPS_pubmethodGetValues(Object[])

Rellena una matriz de objetos con los valores de columna de la fila actual.(Reemplaza a DbDataReader.GetValues(Object[])).

System_CAPS_pubmethodGetXmlReader(Int32)

Recupera datos de tipo XML como XmlReader.

System_CAPS_pubmethodInitializeLifetimeService()

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.(Heredado de MarshalByRefObject.)

System_CAPS_protmethodIsCommandBehavior(CommandBehavior)

Determina si el valor de CommandBehavior especificado coincide con el de SqlDataReader.

System_CAPS_pubmethodIsDBNull(Int32)

Obtiene un valor que indica si la columna contiene valores no existentes o que faltan.(Reemplaza a DbDataReader.IsDBNull(Int32)).

System_CAPS_pubmethodIsDBNullAsync(Int32)

Versión asincrónica de IsDBNull, que obtiene un valor que indica si la columna contiene valores inexistentes o que faltan.(Heredado de DbDataReader.)

System_CAPS_pubmethodIsDBNullAsync(Int32, CancellationToken)

Versión asincrónica de IsDBNull, que obtiene un valor que indica si la columna contiene valores inexistentes o que faltan.

Token de cancelación que se puede usar para solicitar que se abandone la operación antes de que transcurra el tiempo de espera del comando.Las excepciones se mostrarán a través del objeto Task devuelto.(Reemplaza a DbDataReader.IsDBNullAsync(Int32, CancellationToken)).

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual. (Heredado de Object.)

System_CAPS_protmethodMemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.(Heredado de MarshalByRefObject.)

System_CAPS_pubmethodNextResult()

Desplaza el lector de datos al siguiente resultado cuando se leen los resultados de las instrucciones de Transact-SQL por lotes.(Reemplaza a DbDataReader.NextResult()).

System_CAPS_pubmethodNextResultAsync()

Una versión asincrónica de NextResult, que avanza el lector al siguiente resultado al leer los resultados de un lote de instrucciones.

Invoca NextResultAsync con CancellationToken.None.(Heredado de DbDataReader.)

System_CAPS_pubmethodNextResultAsync(CancellationToken)

Una versión asincrónica de NextResult, que avanza el lector de datos al siguiente resultado al leer los resultados de un lote de instrucciones Transact-SQL.

Token de cancelación que se puede usar para solicitar que se abandone la operación antes de que transcurra el tiempo de espera del comando. Las excepciones se mostrarán a través del objeto Task devuelto.(Reemplaza a DbDataReader.NextResultAsync(CancellationToken)).

System_CAPS_pubmethodRead()

Desplaza SqlDataReader hasta el siguiente registro.(Reemplaza a DbDataReader.Read()).

System_CAPS_pubmethodReadAsync()

Una versión asincrónica de Read, que avanza el lector al registro siguiente en un conjunto de resultados.Este método invoca ReadAsync con CancellationToken.None.(Heredado de DbDataReader.)

System_CAPS_pubmethodReadAsync(CancellationToken)

Una versión asincrónica de Read, que avanza SqlDataReader al registro siguiente.

Token de cancelación que se puede usar para solicitar que se abandone la operación antes de que transcurra el tiempo de espera del comando.Las excepciones se mostrarán a través del objeto Task devuelto.(Reemplaza a DbDataReader.ReadAsync(CancellationToken)).

System_CAPS_pubmethodToString()

Retorna una cadena que representa al objeto actual. (Heredado de Object.)

NombreDescripción
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDataRecord.GetData(Int32)

Devuelve una interfaz IDataReader para el índice de columna especificado.

NombreDescripción
System_CAPS_pubmethodAsParallel()

Sobrecargado. Habilita la paralelización de una consulta.(Defined by ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Sobrecargado. Convierte una interfaz IEnumerable en IQueryable.(Defined by Queryable.)

System_CAPS_pubmethodCast<TResult>()

Convierte los elementos de IEnumerable en el tipo especificado.(Defined by Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filtra los elementos de IEnumerable en función de un tipo especificado.(Defined by Enumerable.)

Para crear un SqlDataReader, se debe llamar al método ExecuteReader del objeto SqlCommand, en lugar de utilizar directamente un constructor.

Mientras se está utilizando SqlDataReader, el objeto SqlConnection asociado está ocupado dando servicio a SqlDataReader, y en SqlConnection no se puede realizar ninguna otra operación, excepto la de cerrar.Esto es así hasta que se llama al método Close de SqlDataReader.Por ejemplo, no se pueden recuperar parámetros de salida hasta después de llamar a Close.

Los cambios que realiza otro proceso o subproceso en un conjunto de resultados mientras se leen los datos, pueden ser visibles para el usuario de SqlDataReader.Sin embargo, el comportamiento exacto depende de los intervalos de tiempo.

IsClosed y RecordsAffected son las únicas propiedades que se pueden llamar después de cerrar SqlDataReader.Si bien se puede obtener acceso a la propiedad RecordsAffected mientras exista SqlDataReader, se debe llamar siempre al método Close antes de devolver el valor de RecordsAffected para garantizar que el valor devuelto sea exacto.

Al utilizar el acceso secuencial (CommandBehavior.SequentialAccess), InvalidOperationException se generará si se hace avanzar la posición SqlDataReader y otra operación de lectura se intenta en la columna anterior.

System_CAPS_noteNota

Para obtener un rendimiento óptimo, SqlDataReader evita crear objetos innecesarios o hacer copias de objetos innecesarias.Por tanto, varias llamadas a los métodos como GetValue devuelven una referencia al mismo objeto.Conviene tener mucho cuidado si se modifica el valor subyacente de los objetos devueltos por métodos como GetValue.

En el siguiente ejemplo, se crean una conexión SqlConnection, un objeto SqlCommand y un SqlDataReader.En el ejemplo se leen los datos y se escriben en la ventana de la consola.Seguidamente, el código cierra SqlDataReader. SqlConnection se cierra automáticamente al final del bloque de código using.

using System;
using System.Data;
using System.Data.SqlClient;


class Program
{
    static void Main()
    {
        string str = "Data Source=(local);Initial Catalog=Northwind;"
            + "Integrated Security=SSPI";
        ReadOrderData(str);
    }

    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 record)
    {
        Console.WriteLine(String.Format("{0}, {1}", record[0], record[1]));
    }

}

.NET Framework
Disponible desde 1.1

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Volver al principio
Mostrar:
© 2016 Microsoft