我使用IDataReader使用存储过程从db获取数据。是这样的
using (IDataReader Reader = SqlHelper.ExecuteReader(ConnectionString, "StoredProc1", sqlParam))
{
while (Reader.Read())
{
}
}
在这种情况下,是否需要手动关闭读取器?我的疑问是,因为我们使用的是 using 指令,执行后是否会自动关闭阅读器?
谢谢,
Mahesh
由于您使用的是using
,而返回的阅读器实现了IDisposable
,因此将自动调用Dispose()
。假设Dispose()
被正确地实现了(它确实是),它将做任何必要的事情来确保可以安全地处理对象。如果需要调用Close()
,它将调用Close;或者一个我们不需要知道的内部等价物