SqlConnection.Close Metode

Definisi

Menutup koneksi ke database. Ini adalah metode yang disukai untuk menutup koneksi terbuka apa pun.

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 ()

Penerapan

Pengecualian

Kesalahan tingkat koneksi yang terjadi saat membuka koneksi.

Contoh

Contoh berikut membuat SqlConnection, membukanya, menampilkan beberapa propertinya. Koneksi secara otomatis ditutup di akhir using blok.

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

Keterangan

Metode ini Close mengembalikan transaksi yang tertunda. Kemudian melepaskan koneksi ke kumpulan koneksi, atau menutup koneksi jika pengumpulan koneksi dinonaktifkan.

Catatan

Transaksi yang tertunda mulai menggunakan Transact-SQL atau BeginTransaction secara otomatis digulung balik saat koneksi diatur ulang jika pengumpulan koneksi diaktifkan. Jika pengumpulan koneksi nonaktif, transaksi digulung balik setelah SqlConnection.Close dipanggil. Transaksi yang dimulai melalui System.Transactions dikendalikan melalui System.Transactions infrastruktur, dan tidak terpengaruh oleh SqlConnection.Close.

Aplikasi dapat memanggil Close lebih dari satu kali. Tidak ada pengecualian yang dihasilkan.

SqlConnection Jika keluar dari cakupan, itu tidak akan ditutup. Oleh karena itu, Anda harus secara eksplisit menutup koneksi dengan memanggil Close atau Dispose. Close dan Dispose setara secara fungsional. Jika nilai Pooling pengumpulan koneksi diatur ke true atau yes, koneksi yang mendasar dikembalikan ke kumpulan koneksi. Di sisi lain, jika Pooling diatur ke false atau no, koneksi yang mendasar ke server ditutup.

Catatan

Peristiwa masuk dan keluar tidak akan dinaikkan di server ketika koneksi diambil dari atau dikembalikan ke kumpulan koneksi, karena koneksi tidak benar-benar ditutup ketika dikembalikan ke kumpulan koneksi. Untuk informasi selengkapnya, lihat Kumpulan Koneksi SQL Server (ADO.NET).

Perhatian

Jangan memanggil Close atau Dispose pada Koneksi, DataReader, atau objek terkelola lainnya dalam Finalize metode kelas Anda. Dalam finalizer, Anda hanya boleh merilis sumber daya yang tidak dikelola yang dimiliki kelas Anda secara langsung. Jika kelas Anda tidak memiliki sumber daya yang tidak dikelola, jangan sertakan metode Finalize dalam definisi kelas Anda. Untuk informasi lebih lanjut, lihat Pengumpulan Sampah.

Berlaku untuk

Lihat juga