Condividi tramite


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 SqlConnectionoggetto , un SqlCommande un SqlDataReaderoggetto . L'esempio legge i dati, scrivendolo 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 l'oggetto per usare l'oggetto SqlDataReader associato SqlConnection per qualsiasi altro scopo.

Il Close metodo inserisce i valori per i parametri di output, i valori restituiti e RecordsAffected, aumentando il tempo necessario per chiudere un SqlDataReader oggetto utilizzato 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 l'oggetto può essere ridotto chiamando il metodo dell'oggetto associato SqlCommand prima di chiamare il CancelClose metodo .

Attenzione

Non chiamare Close o Dispose in una connessione, un DataReader o qualsiasi altro oggetto gestito nel Finalize metodo della classe. In un finalizzatore, è consigliabile rilasciare direttamente le risorse non gestite che la classe possiede direttamente. 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