sql >> Database >  >> RDS >> Sqlserver

SqlConnection SqlCommand SqlDataReader IDisposable

Dit is 100% de juiste manier. Als een klasse gebruikmaakt van IDisposable het moet worden ingepakt in een using statement om ervoor te zorgen dat de Dispose() methode wordt genoemd. Verder moet niet lichtvaardig worden gecommuniceerd met een technologie van buitenaf -onbeheerd dan- zoals SQL Server. Het SqlCommand object implementeert IDisposable om een ​​zeer goede reden. De onderstaande code is de Dispose() methode voor de SqlCommand voorwerp:

protected override void Dispose(bool disposing)
{
    if (disposing)
    {
        this._cachedMetaData = null;
    }
    base.Dispose(disposing);
}

en zoals je kunt zien, geeft het een verwijzing vrij naar de _cachedMetaData object zodat het ook opgeruimd kan worden.



  1. Hoe Oracle-schemagrootte weer te geven met SQL-query?

  2. Hoe kan ik vanuit mijn C#-code in een op SQL Server opgeslagen proces stappen?

  3. SELECTEER DISTINCT Werkt niet Android SQLite

  4. SQL-ontwikkelaar 4