Share via


SqlDataReader.Read Método

Definición

Desplaza SqlDataReader al siguiente registro.

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

Devoluciones

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

Implementaciones

Excepciones

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

Ejemplos

En el ejemplo siguiente se crea un SqlConnectionobjeto , y SqlCommand.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.

using Microsoft.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]));
    }

}

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