我知道我之前問過一個相關的問題。我只是另有想法。在SQLDataReader上使用
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
,所以我需要說明,我的判斷是否正確?)我只是混淆,因爲它不是一個新的對象,它會導致處理一個對象的任何問題,只是一個引用指針的指針?
非常感謝
「cmd.ExecuteReader」 是一種方法的參考。 「cmd.ExecuteReader()」(通知括號)是一個方法調用。 – 2010-08-02 10:20:49