SqlConnection.Close Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee sluit u de verbinding met de database. Dit is de voorkeursmethode voor het sluiten van een open verbinding.
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 ()
Implementeringen
Uitzonderingen
De fout op verbindingsniveau die is opgetreden tijdens het openen van de verbinding.
Voorbeelden
In het volgende voorbeeld wordt een SqlConnection, wordt deze geopend en worden enkele eigenschappen ervan weergegeven. De verbinding wordt automatisch aan het einde van het using blok gesloten.
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);
}
}
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
Opmerkingen
Met de Close methode worden alle openstaande transacties teruggedraaid. Vervolgens wordt de verbinding met de verbindingsgroep vrijgegeven of wordt de verbinding gesloten als groepsgewijze verbindingen zijn uitgeschakeld.
Note
Transacties die in behandeling zijn begonnen met Transact-SQL of BeginTransaction worden automatisch teruggedraaid wanneer de verbinding opnieuw wordt ingesteld als groepsgewijze verbindingen zijn ingeschakeld. Als de groepsgewijze verbinding is uitgeschakeld, wordt de transactie teruggedraaid nadat SqlConnection.Close deze is aangeroepen. Transacties die zijn gestart System.Transactions , worden beheerd via de System.Transactions infrastructuur en worden niet beïnvloed door SqlConnection.Close.
Een toepassing kan meer dan één keer aanroepen Close . Er wordt geen uitzondering gegenereerd.
Als het SqlConnection bereik buiten het bereik valt, wordt deze niet gesloten. Daarom moet u de verbinding expliciet sluiten door te bellen Close of Dispose.
Close en Dispose functioneel gelijkwaardig zijn. Als de waarde Pooling voor het groeperen van verbindingen is ingesteld op true of yes, wordt de onderliggende verbinding teruggezet naar de verbindingsgroep. Aan de andere kant, als Pooling deze is ingesteld op false of no, wordt de onderliggende verbinding met de server gesloten.
Note
Aanmeldings- en afmeldingsgebeurtenissen worden niet gegenereerd op de server wanneer een verbinding wordt opgehaald van of geretourneerd aan de verbindingsgroep, omdat de verbinding niet daadwerkelijk wordt gesloten wanneer deze wordt geretourneerd naar de verbindingsgroep. Zie SQL Server Connection Pooling (ADO.NET) voor meer informatie.
Waarschuwing
Close
Dispose Roep geen verbinding, een DataReader of een ander beheerd object aan in de Finalize methode van uw klasse. In een finalizer moet u alleen onbeheerde resources vrijgeven die rechtstreeks eigendom zijn van uw klasse. Als uw klasse geen onbeheerde resources bezit, neemt u Finalize geen methode op in uw klassedefinitie. Zie Garbagecollection voor meer informatie.