Partager via


SqlDataReader.Close Méthode

Définition

Ferme l'objet 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 ()

Implémente

Exemples

L’exemple suivant crée un SqlConnection, un SqlCommandet un SqlDataReader. L’exemple lit les données et les écrit dans la fenêtre de console. Le code ferme ensuite .SqlDataReader est SqlConnection fermé automatiquement à la fin du bloc de using code.

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

Remarques

Vous devez appeler explicitement la Close méthode lorsque vous utilisez le SqlDataReader pour utiliser le associé SqlConnection à d’autres fins.

La Close méthode remplit les valeurs des paramètres de sortie, des valeurs de retour et RecordsAffected, ce qui augmente le temps nécessaire pour fermer un SqlDataReader qui a été utilisé pour traiter une requête volumineuse ou complexe. Lorsque les valeurs de retour et le nombre d’enregistrements affectés par une requête ne sont pas significatifs, le temps nécessaire pour fermer peut SqlDataReader être réduit en appelant la Cancel méthode de l’objet associé SqlCommand avant d’appeler la Close méthode .

Attention

N’appelez Close pas ou Dispose sur une connection, un DataReader ou tout autre objet managé dans la Finalize méthode de votre classe. Dans un finaliseur, vous devez libérer uniquement les ressources non managées que votre classe possède directement. Si votre classe ne possède pas de ressource non managée, n'incluez pas une méthode Finalize dans la définition de classe. Pour plus d’informations, consultez Nettoyage de la mémoire.

S’applique à

Voir aussi