SqlConnection.Close Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Stänger anslutningen till databasen. Det här är den bästa metoden för att stänga en öppen anslutning.
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 ()
Implementeringar
Undantag
Felet på anslutningsnivå som uppstod när anslutningen öppnades.
Exempel
I följande exempel skapas en SqlConnection, öppnar den och visar några av dess egenskaper. Anslutningen stängs automatiskt i slutet av using blocket.
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
Kommentarer
Metoden Close återställer eventuella väntande transaktioner. Sedan frigörs anslutningen till anslutningspoolen eller anslutningen stängs om anslutningspoolen är inaktiverad.
Note
Väntande transaktioner som startas med Transact-SQL eller BeginTransaction återställs automatiskt när anslutningen återställs om anslutningspoolen är aktiverad. Om anslutningspoolen är avstängd återställs transaktionen efter SqlConnection.Close att den anropats. Transaktioner som startas via System.Transactions styrs via System.Transactions infrastrukturen och påverkas inte av SqlConnection.Close.
Ett program kan anropa Close mer än en gång. Inget undantag genereras.
Om omfånget SqlConnection går utanför omfånget stängs det inte. Därför måste du uttryckligen stänga anslutningen genom att anropa Close eller Dispose.
Close och Dispose är funktionellt likvärdiga. Om värdet för anslutningspoolen Pooling är inställt på true eller yesreturneras den underliggande anslutningen tillbaka till anslutningspoolen. Å andra sidan, om Pooling är inställd på false eller no, stängs den underliggande anslutningen till servern.
Note
Inloggnings- och utloggningshändelser aktiveras inte på servern när en anslutning hämtas från eller returneras till anslutningspoolen, eftersom anslutningen inte är stängd när den returneras till anslutningspoolen. Mer information finns i SQL Server-anslutningspooler (ADO.NET).
Caution
Anropa Close inte eller Dispose på en anslutning, en DataReader eller något annat hanterat objekt i -metoden för Finalize din klass. I en finalizer bör du bara släppa ohanterade resurser som klassen äger direkt. Om klassen inte äger några ohanterade resurser ska du inte inkludera någon Finalize metod i din klassdefinition. Mer information finns i Skräpinsamling.