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

Clase SqlDataReader

 

Publicado: octubre de 2016

Ofrece una manera de leer un flujo de filas de solo avance desde 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)

System.Object
  System.MarshalByRefObject
    System.Data.Common.DbDataReader
      System.Data.SqlClient.SqlDataReader

public class SqlDataReader : DbDataReader, IDataReader, IDisposable, 
	IDataRecord

NombreDescripción
System_CAPS_protpropertyConnection

Obtiene la SqlConnection asociada a la SqlDataReader.

System_CAPS_pubpropertyDepth

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

System_CAPS_pubpropertyFieldCount

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

System_CAPS_pubpropertyHasRows

Obtiene un valor que indica si la SqlDataReader contiene una o más filas.(Invalida DbDataReader.HasRows).

System_CAPS_pubpropertyIsClosed

Recupera un valor booleano que indica si el texto especificado SqlDataReader instancia se ha cerrado.(Invalida DbDataReader.IsClosed).

System_CAPS_pubpropertyItem[Int32]

Obtiene el valor de la columna especificada en su formato nativo dado el ordinal de columna.(Invalida DbDataReader.Item[Int32]).

System_CAPS_pubpropertyItem[String]

Obtiene el valor de la columna especificada en su formato nativo dado el nombre de columna.(Invalida DbDataReader.Item[String]).

System_CAPS_pubpropertyRecordsAffected

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

System_CAPS_pubpropertyVisibleFieldCount

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

NombreDescripción
System_CAPS_pubmethodClose()

Cierra el objeto SqlDataReader.(Invalida DbDataReader.Close()).

System_CAPS_pubmethodCreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar a un proxy que se utiliza 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 administrados que usa el DbDataReader y, opcionalmente, libera los recursos no 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 que sea reclamado por la recolección de elementos no utilizados.(Heredado de Object).

System_CAPS_pubmethodGetBoolean(Int32)

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

System_CAPS_pubmethodGetByte(Int32)

Obtiene el valor de la columna especificada como un byte.(Invalida DbDataReader.GetByte(Int32)).

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

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

System_CAPS_pubmethodGetChar(Int32)

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

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

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

System_CAPS_pubmethodGetData(Int32)

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

System_CAPS_pubmethodGetDataTypeName(Int32)

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

System_CAPS_pubmethodGetDateTime(Int32)

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

System_CAPS_pubmethodGetDateTimeOffset(Int32)

Recupera el valor de la columna especificada como un DateTimeOffset objeto.

System_CAPS_protmethodGetDbDataReader(Int32)

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

System_CAPS_pubmethodGetDecimal(Int32)

Obtiene el valor de la columna especificada como un objeto Decimal.(Invalida 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.(Invalida DbDataReader.GetDouble(Int32)).

System_CAPS_pubmethodGetEnumerator()

Devuelve un objeto IEnumerator que itera a través del objeto SqlDataReader.(Invalida DbDataReader.GetEnumerator()).

System_CAPS_pubmethodGetFieldType(Int32)

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

System_CAPS_pubmethodGetFieldValue<T>(Int32)

Sincrónicamente, obtiene el valor de la columna especificada como un tipo. GetFieldValueAsync<T> es la versión asincrónica de este método.(Invalida DbDataReader.GetFieldValue<T>(Int32)).

System_CAPS_pubmethodGetFieldValueAsync<T>(Int32)

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

System_CAPS_pubmethodGetFieldValueAsync<T>(Int32, CancellationToken)

Obtiene el valor de la columna especificada como un tipo de forma asincrónica. GetFieldValue<T> es la versión sincrónica de este método.(Invalida 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.(Invalida DbDataReader.GetFloat(Int32)).

System_CAPS_pubmethodGetGuid(Int32)

Obtiene el valor de la columna especificada como un identificador único global (GUID).(Invalida DbDataReader.GetGuid(Int32)).

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetInt16(Int32)

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

System_CAPS_pubmethodGetInt32(Int32)

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

System_CAPS_pubmethodGetInt64(Int32)

Obtiene el valor de la columna especificada como un entero de 64 bits con signo.(Invalida 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.(Invalida DbDataReader.GetName(Int32)).

System_CAPS_pubmethodGetOrdinal(String)

Obtiene el índice de columna, dado el nombre de la columna.(Invalida DbDataReader.GetOrdinal(String)).

System_CAPS_pubmethodGetProviderSpecificFieldType(Int32)

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

System_CAPS_pubmethodGetProviderSpecificValue(Int32)

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

System_CAPS_pubmethodGetProviderSpecificValues(Object[])

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

System_CAPS_pubmethodGetSchemaTable()

Devuelve un objeto DataTable que describe los metadatos de columna del SqlDataReader.(Invalida DbDataReader.GetSchemaTable()).

System_CAPS_pubmethodGetSqlBinary(Int32)

Obtiene el valor de la columna especificada como un SqlBinary.

System_CAPS_pubmethodGetSqlBoolean(Int32)

Obtiene el valor de la columna especificada como un SqlBoolean.

System_CAPS_pubmethodGetSqlByte(Int32)

Obtiene el valor de la columna especificada como un SqlByte.

System_CAPS_pubmethodGetSqlBytes(Int32)

Obtiene el valor de la columna especificada como SqlBytes.

System_CAPS_pubmethodGetSqlChars(Int32)

Obtiene el valor de la columna especificada como SqlChars.

System_CAPS_pubmethodGetSqlDateTime(Int32)

Obtiene el valor de la columna especificada como un SqlDateTime.

System_CAPS_pubmethodGetSqlDecimal(Int32)

Obtiene el valor de la columna especificada como un SqlDecimal.

System_CAPS_pubmethodGetSqlDouble(Int32)

Obtiene el valor de la columna especificada como un SqlDouble.

System_CAPS_pubmethodGetSqlGuid(Int32)

Obtiene el valor de la columna especificada como un SqlGuid.

System_CAPS_pubmethodGetSqlInt16(Int32)

Obtiene el valor de la columna especificada como un SqlInt16.

System_CAPS_pubmethodGetSqlInt32(Int32)

Obtiene el valor de la columna especificada como un SqlInt32.

System_CAPS_pubmethodGetSqlInt64(Int32)

Obtiene el valor de la columna especificada como un SqlInt64.

System_CAPS_pubmethodGetSqlMoney(Int32)

Obtiene el valor de la columna especificada como un SqlMoney.

System_CAPS_pubmethodGetSqlSingle(Int32)

Obtiene el valor de la columna especificada como un SqlSingle.

System_CAPS_pubmethodGetSqlString(Int32)

Obtiene el valor de la columna especificada como un SqlString.

System_CAPS_pubmethodGetSqlValue(Int32)

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

System_CAPS_pubmethodGetSqlValues(Object[])

Rellena una matriz de Object que contiene los valores para 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 binary, image, varbinary, UDT y tipos de datos variant que un Stream.(Invalida DbDataReader.GetStream(Int32)).

System_CAPS_pubmethodGetString(Int32)

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

System_CAPS_pubmethodGetTextReader(Int32)

Recupera Char, NChar, NText, NVarChar, texto, varChar y tipos de datos Variant como un TextReader.(Invalida DbDataReader.GetTextReader(Int32)).

System_CAPS_pubmethodGetTimeSpan(Int32)

Recupera el valor de la columna especificada como un TimeSpan objeto.

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.(Invalida DbDataReader.GetValue(Int32)).

System_CAPS_pubmethodGetValues(Object[])

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

System_CAPS_pubmethodGetXmlReader(Int32)

Recupera datos de tipo XML como un 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 texto especificado CommandBehavior coincide con el de la SqlDataReader .

System_CAPS_pubmethodIsDBNull(Int32)

Obtiene un valor que indica si la columna contiene valores inexistentes o ausentes.(Invalida DbDataReader.IsDBNull(Int32)).

System_CAPS_pubmethodIsDBNullAsync(Int32)

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

System_CAPS_pubmethodIsDBNullAsync(Int32, CancellationToken)

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

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 de tarea devuelto.(Invalida 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 elemento actual MarshalByRefObject objeto.(Heredado de MarshalByRefObject).

System_CAPS_pubmethodNextResult()

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

System_CAPS_pubmethodNextResultAsync()

Una versión asincrónica de NextResult, que hace avanzar el lector hasta el resultado siguiente cuando se leen 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 desplaza el lector de datos al resultado siguiente cuando se leen los resultados de lote Transact-SQL instrucciones.

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.(Invalida DbDataReader.NextResultAsync(CancellationToken)).

System_CAPS_pubmethodRead()

Desplaza SqlDataReader al siguiente registro.(Invalida DbDataReader.Read()).

System_CAPS_pubmethodReadAsync()

Una versión asincrónica de Read, que hace avanzar el lector hasta el siguiente registro de 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, qué avances el SqlDataReader al siguiente registro.

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.(Invalida DbDataReader.ReadAsync(CancellationToken)).

System_CAPS_pubmethodToString()

Devuelve una cadena que representa el objeto actual.(Heredado de Object).

NombreDescripción
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDataRecord.GetData(Int32)

Devuelve un IDataReader para el ordinal de columna especificado.

NombreDescripción
System_CAPS_pubmethodAsParallel()

Sobrecargado. Habilita la paralelización de una consulta.(Definido por ParallelEnumerable).

System_CAPS_pubmethodAsQueryable()

Sobrecargado. Convierte un IEnumerable para un IQueryable.(Definido por Queryable).

System_CAPS_pubmethodCast<TResult>()

Convierte los elementos de un IEnumerable al tipo especificado.(Definido por Enumerable).

System_CAPS_pubmethodOfType<TResult>()

Filtra los elementos de un IEnumerable basado en un tipo especificado.(Definido por Enumerable).

To create a T:System.Data.SqlClient.SqlDataReader, you must call the M:System.Data.SqlClient.SqlCommand.ExecuteReader method of the T:System.Data.SqlClient.SqlCommand object, instead of directly using a constructor.

While the T:System.Data.SqlClient.SqlDataReader is being used, the associated T:System.Data.SqlClient.SqlConnection is busy serving the T:System.Data.SqlClient.SqlDataReader, and no other operations can be performed on the T:System.Data.SqlClient.SqlConnection other than closing it. This is the case until the M:System.Data.SqlClient.SqlDataReader.Close method of the T:System.Data.SqlClient.SqlDataReader is called. For example, you cannot retrieve output parameters until after you call M:System.Data.SqlClient.SqlDataReader.Close.

Changes made to a result set by another process or thread while data is being read may be visible to the user of the SqlDataReader. However, the precise behavior is timing dependent.

IsClosed and RecordsAffected are the only properties that you can call after the SqlDataReader is closed. Although the RecordsAffected property may be accessed while the SqlDataReader exists, always call Close before returning the value of RecordsAffected to guarantee an accurate return value.

When using sequential access (F:System.Data.CommandBehavior.SequentialAccess), an T:System.InvalidOperationException will be raised if the T:System.Data.SqlClient.SqlDataReader position is advanced and another read operation is attempted on the previous column.

System_CAPS_noteNota

For optimal performance, T:System.Data.SqlClient.SqlDataReader avoids creating unnecessary objects or making unnecessary copies of data. Therefore, multiple calls to methods such as M:System.Data.SqlClient.SqlDataReader.GetValue(System.Int32) return a reference to the same object. Use caution if you are modifying the underlying value of the objects returned by methods such as M:System.Data.SqlClient.SqlDataReader.GetValue(System.Int32).

The following example creates a T:System.Data.SqlClient.SqlConnection, a T:System.Data.SqlClient.SqlCommand, and a T:System.Data.SqlClient.SqlDataReader. The example reads through the data, writing it out to the console window. The code then closes the T:System.Data.SqlClient.SqlDataReader. The T:System.Data.SqlClient.SqlConnection is closed automatically at the end of the using code block.

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

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: