SqlDataReader.Read Método

Definición

Avanza hasta SqlDataReader el siguiente registro.

public:
 virtual bool Read();
public:
 override bool Read();
public bool Read();
public override bool Read();
abstract member Read : unit -> bool
override this.Read : unit -> bool
override this.Read : unit -> bool
Public Function Read () As Boolean
Public Overrides Function Read () As Boolean

Devoluciones

true si hay más filas; de lo contrario false, es .

Implementaciones

Excepciones

SQL Server devolvió un error al ejecutar el texto del comando.

Ejemplos

En el ejemplo siguiente se crea un SqlConnection, un SqlCommandy un SqlDataReader. En el ejemplo se leen los datos y se escribe en la ventana de la consola. A continuación, el código cierra .SqlDataReader SqlConnection Se cierra automáticamente al final del using bloque de código.

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

La posición predeterminada de SqlDataReader es antes del primer registro. Por lo tanto, debe llamar Read a para empezar a acceder a los datos.

Solo uno SqlDataReader por asociado SqlConnection puede estar abierto a la vez y cualquier intento de abrir otro producirá un error hasta que se cierre el primero. Del mismo modo, mientras se usa , SqlDataReader el asociado SqlConnection está ocupado a servirlo hasta que se llama a Close.

Se aplica a

Consulte también