Compartir por


SqlCommand.ExecuteReader Método

Definición

CommandText Envía a Connection y compila un SqlDataReaderobjeto .

Sobrecargas

Nombre Description
ExecuteReader()

CommandText Envía a Connection y compila un SqlDataReaderobjeto .

ExecuteReader(CommandBehavior)

CommandText Envía a Connectiony compila un SqlDataReader objeto mediante uno de los CommandBehavior valores .

ExecuteReader()

Source:
System.Data.SqlClient.notsupported.cs

CommandText Envía a Connection y compila un SqlDataReaderobjeto .

public:
 System::Data::SqlClient::SqlDataReader ^ ExecuteReader();
public System.Data.SqlClient.SqlDataReader ExecuteReader();
override this.ExecuteReader : unit -> System.Data.SqlClient.SqlDataReader
member this.ExecuteReader : unit -> System.Data.SqlClient.SqlDataReader
Public Function ExecuteReader () As SqlDataReader

Devoluciones

Un objeto SqlDataReader.

Excepciones

Se usó un SqlDbType valor distinto de Binary o VarBinary cuando Value se estableció en Stream. Para obtener más información sobre el streaming, consulte Compatibilidad con streaming de SqlClient.

O bien

Se usó un SqlDbType valor distinto de Char, NChar, NVarChar, VarChar o Xml cuando Value se estableció en TextReader.

O bien

Se usó un SqlDbType valor distinto de Xml cuando Value se estableció en XmlReader.

Se produjo una excepción al ejecutar el comando en una fila bloqueada. Esta excepción no se genera cuando se usa Microsoft .NET Framework versión 1.0.

O bien

Se ha agotado el tiempo de espera durante una operación de streaming. Para obtener más información sobre el streaming, consulte Compatibilidad con streaming de SqlClient.

El estado actual de la conexión está cerrado. ExecuteReader() requiere un objeto open SqlConnection.

O bien

Cerrado SqlConnection o quitado durante una operación de streaming. Para obtener más información sobre el streaming, consulte Compatibilidad con streaming de SqlClient.

Error en un Streamobjeto , XmlReader o TextReader durante una operación de streaming. Para obtener más información sobre el streaming, consulte Compatibilidad con streaming de SqlClient.

El Streamobjeto , XmlReader o TextReader se cerró durante una operación de streaming. Para obtener más información sobre el streaming, consulte Compatibilidad con streaming de SqlClient.

Ejemplos

En el ejemplo siguiente se crea un SqlCommandy, a continuación, se ejecuta pasando una cadena que es una instrucción SELECT de Transact-SQL y una cadena que se va a usar para conectarse al origen de datos.

private static void CreateCommand(string queryString,
    string connectionString)
{
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        connection.Open();

        SqlCommand command = new SqlCommand(queryString, connection);
        using(SqlDataReader reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                Console.WriteLine(String.Format("{0}", reader[0]));
            }
        }
    }
}
Public Sub CreateCommand(ByVal queryString As String, _
  ByVal connectionString As String)
    Using connection As New SqlConnection(connectionString)
        connection.Open()

        Dim command As New SqlCommand(queryString, connection)
        Dim reader As SqlDataReader = command.ExecuteReader()
        Try
            While reader.Read()
                Console.WriteLine("{0}", reader(0))
            End While
        Finally
            ' Always call Close when done reading.
            reader.Close()
        End Try
    End Using
End Sub

Comentarios

Cuando la CommandType propiedad se establece StoredProcedureen , la CommandText propiedad debe establecerse en el nombre del procedimiento almacenado. El comando ejecuta este procedimiento almacenado cuando se llama a ExecuteReader.

Nota:

Si una transacción está interbloqueada, es posible que no se produzca una excepción hasta Read que se llame a .

La característica de varios conjuntos de resultados activos (MARS) permite varias acciones mediante la misma conexión.

Si usa ExecuteReader o BeginExecuteReader para obtener acceso a datos XML, SQL Server devolverá resultados XML mayores de 2033 caracteres de longitud en varias filas de 2033 caracteres cada uno. Para evitar este comportamiento, use ExecuteXmlReader o BeginExecuteXmlReader para leer consultas FOR XML.

Consulte también

Se aplica a

ExecuteReader(CommandBehavior)

Source:
System.Data.SqlClient.notsupported.cs

CommandText Envía a Connectiony compila un SqlDataReader objeto mediante uno de los CommandBehavior valores .

public:
 System::Data::SqlClient::SqlDataReader ^ ExecuteReader(System::Data::CommandBehavior behavior);
public System.Data.SqlClient.SqlDataReader ExecuteReader(System.Data.CommandBehavior behavior);
override this.ExecuteReader : System.Data.CommandBehavior -> System.Data.SqlClient.SqlDataReader
member this.ExecuteReader : System.Data.CommandBehavior -> System.Data.SqlClient.SqlDataReader
Public Function ExecuteReader (behavior As CommandBehavior) As SqlDataReader

Parámetros

behavior
CommandBehavior

Uno de los CommandBehavior valores.

Devoluciones

Un objeto SqlDataReader.

Excepciones

Se usó un SqlDbType valor distinto de Binary o VarBinary cuando Value se estableció en Stream. Para obtener más información sobre el streaming, consulte Compatibilidad con streaming de SqlClient.

O bien

Se usó un SqlDbType valor distinto de Char, NChar, NVarChar, VarChar o Xml cuando Value se estableció en TextReader.

O bien

Se usó un SqlDbType valor distinto de Xml cuando Value se estableció en XmlReader.

Se ha agotado el tiempo de espera durante una operación de streaming. Para obtener más información sobre el streaming, consulte Compatibilidad con streaming de SqlClient.

Error en un Streamobjeto , XmlReader o TextReader durante una operación de streaming. Para obtener más información sobre el streaming, consulte Compatibilidad con streaming de SqlClient.

Cerrado SqlConnection o quitado durante una operación de streaming. Para obtener más información sobre el streaming, consulte Compatibilidad con streaming de SqlClient.

El Streamobjeto , XmlReader o TextReader se cerró durante una operación de streaming. Para obtener más información sobre el streaming, consulte Compatibilidad con streaming de SqlClient.

Ejemplos

En el ejemplo siguiente se crea un SqlCommandy, a continuación, se ejecuta pasando una cadena que es una instrucción SELECT de Transact-SQL y una cadena que se va a usar para conectarse al origen de datos. El valor de CommandBehavior está establecido en CloseConnection.

private static void CreateCommand(string queryString,
    string connectionString)
{
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(queryString, connection);
        connection.Open();
        using(SqlDataReader reader =
            command.ExecuteReader(CommandBehavior.CloseConnection))
        {
            while (reader.Read())
            {
                Console.WriteLine(String.Format("{0}", reader[0]));
            }
        }
    }
}
Public Sub CreateCommand(ByVal queryString As String, _
  ByVal connectionString As String)
    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)
        connection.Open()
        Dim reader As SqlDataReader = _
            command.ExecuteReader(CommandBehavior.CloseConnection)
        Try
            While reader.Read()
                Console.WriteLine("{0}", reader(0))
            End While
        Finally
            ' Always call Close when done reading.
            reader.Close()
        End Try
    End Using
End Sub

Comentarios

Cuando la CommandType propiedad se establece StoredProcedureen , la CommandText propiedad debe establecerse en el nombre del procedimiento almacenado. El comando ejecuta este procedimiento almacenado cuando se llama a ExecuteReader.

Nota:

Use SequentialAccess para recuperar valores grandes y datos binarios. De lo contrario, podría producirse un OutOfMemoryException y se cerrará la conexión.

La característica de varios conjuntos de resultados activos (MARS) permite varias acciones mediante la misma conexión.

Si usa ExecuteReader o BeginExecuteReader para obtener acceso a datos XML, SQL Server devolverá resultados XML mayores de 2033 caracteres de longitud en varias filas de 2033 caracteres cada uno. Para evitar este comportamiento, use ExecuteXmlReader o BeginExecuteXmlReader para leer consultas FOR XML.

Consulte también

Se aplica a