Freigeben über


SqlConnection.Close-Methode

Schließt die Verbindung mit der Datenbank. Dies ist die empfohlene Vorgehensweise zum Schließen offener Verbindungen.

Namespace: System.Data.SqlClient
Assembly: System.Data (in system.data.dll)

Syntax

'Declaration
Public Overrides Sub Close
'Usage
Dim instance As SqlConnection

instance.Close
public override void Close ()
public:
virtual void Close () override
public void Close ()
public override function Close ()

Ausnahmen

Ausnahmetyp Bedingung

SqlException

Der Fehler auf Verbindungsebene, der beim Öffnen der Verbindung aufgetreten ist.

Hinweise

Die Close-Methode führt für alle anstehenden Transaktionen einen Rollback aus. Anschließend gibt sie die Verbindung für den Verbindungspool frei oder schließt die Verbindung, wenn das Verbindungspooling deaktiviert ist.

Hinweis

Für ausstehende Transaktionen, die mit Transact-SQL oder BeginTransaction gestartet wurden, wird automatisch ein Rollback ausgeführt. Mit System.Transactions gestartete Transaktionen werden über die System.Transactions-Infrastruktur gesteuert, sodass SqlConnection.Close keinen Einfluss auf sie hat.

Anwendungen können die Close-Methode mehrmals aufrufen. Es wird keine Ausnahme ausgelöst.

SqlConnection wird beim Verlassen des Gültigkeitsbereichs nicht geschlossen. Daher müssen Sie die Verbindung explizit durch Aufruf von Close oder Dispose schließen, sofern Sie den Code nicht innerhalb einer using-Anweisung platziert haben. Beide sind funktional identisch. Wenn der Verbindungspoolingwert Pooling auf true oder yes festgelegt wird, gibt dies auch die physikalische Verbindung frei.

Warnung

Für ein Connection-Objekt, ein DataReader-Objekt oder ein anderes verwaltetes Objekt dürfen Close oder Dispose nicht in der Finalize-Methode der Klasse aufgerufen werden. In einem Finalizer dürfen Sie nur nicht verwaltete Ressourcen freigeben, die im direkten Besitz der Klasse sind. Wenn die Klasse keine nicht verwalteten Ressourcen besitzt, nehmen Sie keine Finalize-Methode in die Klassendefinition auf. Weitere Informationen finden Sie unter Garbage Collection.

Beispiel

Im folgenden Beispiel wird eine SqlConnection geöffnet, und einige ihrer Eigenschaften werden angezeigt. Die Verbindung wird am Ende des using-Blocks automatisch geschlossen.

Private Sub OpenSqlConnection(ByVal connectionString As String)
    Using connection As New SqlConnection(connectionString)
        connection.Open()
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion)
        Console.WriteLine("State: {0}", connection.State)
    End Using
End Sub
private static void OpenSqlConnection(string connectionString)
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
        Console.WriteLine("State: {0}", connection.State);
    }
}

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

SqlConnection-Klasse
SqlConnection-Member
System.Data.SqlClient-Namespace

Weitere Ressourcen

Verbinden und Abrufen von Daten mit ADO.NET
Verwenden des .NET Framework-Datenanbieters für SQL Server
Verwenden von Verbindungspooling