Я знаю, что раньше задавал родственный вопрос. Я просто подумал.
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
, поэтому мне нужно его поместить. на мой взгляд?) Я просто смущен, так как это не новый объект, может ли это вызвать проблемы с удалением объекта, который просто является ссылочным указателем на команду?
Большое спасибо