Я знаю, что раньше задавал родственный вопрос. Я просто подумал.
using (SqlConnection conn = new SqlConnection('blah blah'))
{
using(SqlCommand cmd = new SqlCommand(sqlStatement, conn))
{
conn.open();
// *** do I need to put this in using as well? ***
SqlDataReader dr = cmd.ExecuteReader()
{
While(dr.Read())
{
//read here
}
}
}
}
Аргумент таков: поскольку объект SqlDataReader dr НЕ является НОВЫМ ОБЪЕКТОМ, КАК ОБЪЕКТОМ или командами, его просто ссылкой, указывающей на метод cmd.ExecuteReader(), нужно ли вводить читателя внутри using. (Теперь, основываясь на предыдущем сообщении, я понимаю, что любой объект, который использует IDisposable, должен быть помещен в using, а SqlDataReader наследуется от IDisposable, поэтому мне нужно его поместить. на мой взгляд?) Я просто смущен, так как это не новый объект, может ли это вызвать проблемы с удалением объекта, который просто является ссылочным указателем на команду?
Большое спасибо