我知道我之前问过一个相关的问题。我只是有了另一个想法。
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
需要放在 a 中using
,并且SQLDataReader
继承自IDisposable
,所以我需要把它放在。我的判断是否正确?)我只是很困惑,因为它不是一个新对象,在处理一个只是指向命令的引用指针的对象时会导致任何问题吗?
非常感谢