SqlDataReader.Close Metodo

Definizione

Chiude l'oggetto SqlDataReader .

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 ()

Implementazioni

Esempio

Nell'esempio seguente viene creato un oggetto SqlConnection, un SqlCommandoggetto e un oggetto SqlDataReader. L'esempio legge i dati, scrivendoli nella finestra della console. Il codice chiude quindi .SqlDataReader L'oggetto SqlConnection viene chiuso automaticamente alla fine del blocco di using codice.

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

Commenti

È necessario chiamare in modo esplicito il Close metodo quando si usa per SqlDataReader usare l'oggetto associato SqlConnection per qualsiasi altro scopo.

Il Close metodo inserisce i valori per i parametri di output, restituisce valori e RecordsAffected, aumentando il tempo necessario per chiudere un SqlDataReader oggetto usato per elaborare una query di grandi dimensioni o complessa. Quando i valori restituiti e il numero di record interessati da una query non sono significativi, il tempo necessario per chiudere SqlDataReader può essere ridotto chiamando il Cancel metodo dell'oggetto associato SqlCommand prima di chiamare il Close metodo .

Caution

Non chiamare Close o Dispose su una connessione, un DataReader o qualsiasi altro oggetto gestito nel Finalize metodo della classe. In un finalizzatore è consigliabile rilasciare direttamente le risorse non gestite di proprietà della classe. Se nella classe non sono presenti risorse non gestite, non includere un metodo Finalize nella relativa definizione della classe. Per altre informazioni, vedere Garbage Collection.

Si applica a

Vedi anche