SqlConnection.Close Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Ukončí připojení k databázi. Toto je upřednostňovaná metoda ukončení jakéhokoli otevřeného připojení.
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 ()
Implementuje
Výjimky
Chyba na úrovni připojení, ke které došlo při otevírání připojení.
Příklady
Následující příklad vytvoří objekt SqlConnection, otevře se a zobrazí některé jeho vlastnosti. Připojení se automaticky ukončí na konci using
bloku.
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
Poznámky
Metoda Close vrátí zpět všechny čekající transakce. Pak uvolní připojení k fondu připojení nebo ukončí připojení, pokud je sdružování připojení zakázané.
Poznámka
Čekající transakce se spustily pomocí jazyka Transact-SQL nebo BeginTransaction se automaticky vrátí zpět při resetování připojení, pokud je povolené sdružování připojení. Pokud je sdružování připojení vypnuté, transakce se po SqlConnection.Close
zavolání vrátí zpět. Transakce zahájené prostřednictvím System.Transactions jsou řízeny prostřednictvím System.Transactions
infrastruktury a nejsou ovlivněny SqlConnection.Close
nástrojem .
Aplikace může volat Close více než jednou. Negeneruje se žádná výjimka.
Pokud dojde k SqlConnection výpadku rozsahu, nezavře se. Proto musíte připojení explicitně zavřít voláním Close
nebo Dispose
.
Close
a Dispose
jsou funkčně ekvivalentní. Pokud je hodnota Pooling
sdružování připojení nastavená na true
nebo yes
, vrátí se podkladové připojení zpět do fondu připojení. Pokud je naopak Pooling
nastavená hodnota false
nebo no
, základní připojení k serveru se ukončí.
Poznámka
Události přihlášení a odhlášení nebudou vyvolány na serveru, pokud je připojení načteno z fondu připojení nebo vráceno do fondu připojení, protože připojení není ve skutečnosti ukončeno, jakmile se vrátí do fondu připojení. Další informace najdete v tématu SQL Server sdružování připojení (ADO.NET).
Upozornění
Nevolejte Close
ani Dispose
na Připojení, DataReader ani žádný jiný spravovaný objekt v Finalize
metodě vaší třídy. V finalizátoru byste měli uvolnit pouze nespravované prostředky, které vaše třída vlastní přímo. Pokud vaše třída nevlastní žádné nespravované prostředky, nezahrnujte do definice třídy metodu Finalize
. Další informace najdete v tématu Uvolňování paměti.