Alla exemplen ovan visar samma svaghet. Du använder inte using statement som säkerställer korrekt stängning och kassering av anslutningen och andra engångsföremål. Om ett eller flera av dina satser ger ett undantag exekveras inte koden som stänger anslutningen och du kan sluta med felet för många anslutningar
Till exempel
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)