Alle bovenstaande voorbeelden laten dezelfde zwakte zien. Je gebruikt niet de using-statement dat zorgt voor het goed sluiten en weggooien van de verbinding en andere wegwerpvoorwerpen. Als een of meer van uw instructies een uitzondering veroorzaken, wordt de code die de verbinding verbreekt niet uitgevoerd en kunt u eindigen met de te veel verbindingen-fout
Bijvoorbeeld
string commandLine = "SELECT * FROM Table WHERE active=1";
commandLine = commandLine.Remove(commandLine.Length - 3);
using(MySqlConnection connect = new MySqlConnection(connectionStringMySql))
using(MySqlCommand cmd = new MySqlCommand(commandLine, connect))
{
connect.Open();
using(MySqlDataReader msdr = cmd.ExecuteReader())
{
while (msdr.Read())
{
//Read data
}
}
} // Here the connection will be closed and disposed. (and the command also)