Semua contoh di atas menunjukkan kelemahan yang sama. Anda tidak menggunakan pernyataan penggunaan yang akan memastikan penutupan dan pembuangan sambungan dan benda sekali pakai lainnya dengan benar. Jika satu atau lebih pernyataan Anda mengeluarkan pengecualian, kode yang menutup koneksi tidak akan dieksekusi dan Anda bisa berakhir dengan kesalahan terlalu banyak koneksi
Misalnya
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)