SqlDataReader.Close Método

Definición

Cierra el SqlDataReader objeto .

public:
 virtual void Close();
public:
 override void Close();
public void Close();
public override void Close();
abstract member Close : unit -> unit
override this.Close : unit -> unit
override this.Close : unit -> unit
Public Sub Close ()
Public Overrides Sub Close ()

Implementaciones

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))
    {
        connection.Open();

        using (SqlCommand command =
            new SqlCommand(queryString, connection))
        {
            using (SqlDataReader reader = command.ExecuteReader())
            {
                // Call Read before accessing data.
                while (reader.Read())
                {
                    Console.WriteLine(String.Format("{0}, {1}",
                        reader[0], reader[1]));
                }

                // Call Close when done reading.
               reader.Close();
            }
        }
    }
}
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()
            Console.WriteLine(String.Format("{0}, {1}", _
                reader(0), reader(1)))
        End While

        ' Call Close when done reading.
        reader.Close()
    End Using
End Sub

Comentarios

Debe llamar explícitamente al Close método cuando se usa SqlDataReader para usar el objeto para usar el asociado SqlConnection para cualquier otro propósito.

El Close método rellena los valores de los parámetros de salida, los valores devueltos y RecordsAffected, lo que aumenta el tiempo necesario para cerrar un SqlDataReader objeto que se usó para procesar una consulta grande o compleja. Cuando los valores devueltos y el número de registros afectados por una consulta no son significativos, el tiempo necesario para cerrar SqlDataReader se puede reducir llamando al Cancel método del objeto asociado SqlCommand antes de llamar al Close método .

Caution

No llame a Close ni Dispose en una conexión, un Objeto DataReader ni ningún otro objeto administrado en el método de la Finalize clase. En un finalizador, solo debe liberar recursos no administrados que su clase posee directamente. Si la clase no dispone de recursos no administrados, no incluya un método Finalize en la definición de clase. Para obtener más información, consulte Recolección de basura.

Se aplica a

Consulte también