SqlDataReader.Close Methode

Definition

Schließt das SqlDataReader-Objekt.

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

Implementiert

Beispiele

Im folgenden Beispiel werden ein SqlConnection, und SqlCommandein SqlDataReadererstellt. Im Beispiel werden die Daten gelesen und in das Konsolenfenster geschrieben. Der Code schließt dann die SqlDataReader. Wird SqlConnection automatisch am Ende des Codeblocks using geschlossen.

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

Hinweise

Sie müssen die Close -Methode explizit aufrufen, wenn Sie die verwenden, SqlDataReader um die zugeordnete SqlConnection für andere Zwecke zu verwenden.

Die Close -Methode füllt die Werte für Ausgabeparameter, Rückgabewerte und aus RecordsAffected, und erhöht die Zeit, die zum Schließen eines SqlDataReader benötigt wird, das zum Verarbeiten einer großen oder komplexen Abfrage verwendet wurde. Wenn die Rückgabewerte und die Anzahl der von einer Abfrage betroffenen Datensätze nicht signifikant sind, kann die Zeit, die zum Schließen benötigt SqlDataReader wird, reduziert werden, indem die Cancel -Methode des zugeordneten SqlCommand Objekts aufgerufen wird, bevor die Close -Methode aufgerufen wird.

Achtung

Rufen Close Sie oder Dispose nicht für eine Connection, einen DataReader oder ein anderes verwaltetes Objekt in der Finalize -Methode Ihrer -Klasse auf. In einem Finalizer sollten Sie nur nicht verwaltete Ressourcen freigeben, die ihrer Klasse direkt gehören. Wenn die Klasse keine nicht verwalteten Ressourcen besitzt, definieren Sie in der Klasse keine Finalize-Methode. Weitere Informationen finden Sie unter Garbage Collection.

Gilt für:

Weitere Informationen