SqlConnection.Close Metoda

Definice

Zavře připojení k databázi. Toto je upřednostňovaná metoda uzavř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

Při otevírání připojení došlo k chybě na úrovni připojení.

Příklady

Následující příklad vytvoří , SqlConnectionotevře jej, zobrazí některé jeho vlastnosti. Připojení se automaticky zavře 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. Potom uvolní připojení k fondu připojení nebo připojení zavře, pokud je sdružování připojení zakázané.

Note

Nevyřízené transakce spuštěné pomocí Transact-SQL nebo BeginTransaction se po povolení sdružování připojení automaticky vrátí zpět. Pokud je sdružování připojení vypnuté, transakce se vrátí zpět po SqlConnection.Close zavolání. Transakce zahájené prostřednictvím System.Transactions infrastruktury jsou řízeny prostřednictvím System.Transactions infrastruktury a nejsou ovlivněny SqlConnection.Close.

Aplikace může volat Close vícekrát. Nevygeneruje se žádná výjimka.

SqlConnection Pokud je rozsah mimo rozsah, 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í nastavena na true hodnotu nebo yes, podkladové připojení se vrátí zpět do fondu připojení. Na druhou stranu, pokud Pooling je nastavena false nebo no, základní připojení k serveru je uzavřeno.

Note

Události přihlášení a odhlášení nebudou na serveru vyvolány, když se připojení načítá z fondu připojení nebo se do něj vrací, protože se připojení ve skutečnosti nezavře, když se vrátí. Další informace najdete v tématu Sdružování připojení k SQL Serveru (ADO.NET).

Caution

Nevyvolávejte ani Close nevolejte Dispose 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 naleznete v tématu Uvolňování paměti.

Platí pro

Viz také