Alle eksemplerne ovenfor viser den samme svaghed. Du bruger ikke brugserklæringen som vil sikre korrekt lukning og bortskaffelse af forbindelsen og andre engangsgenstande. Hvis et eller flere af dine udsagn afgiver en undtagelse, bliver koden, der lukker forbindelsen, ikke eksekveret, og du kan ende med fejlen for mange forbindelser
For eksempel
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)