In my DAL I write queries like this:
using(SQLConnection conn = \"connection string here\") { SQLCommand cmd = new (\"sql query\", conn); // execute
It won't handle the SqlCommand, but the SqlCommand will eventually be handled by the garbage collector. I tend to do the following:
SqlCommand
using (SqlConn conn ... ) using (SqlComm comm ... ) { conn.Open(); }
Stacking the using statements here will handle both.