0

我正在使用 IDataReader 使用存储过程从 db 获取数据。即这样的东西

using (IDataReader Reader = SqlHelper.ExecuteReader(ConnectionString, "StoredProc1", sqlParam))
{
     while (Reader.Read())
     {
     }
}

在这种情况下是否需要手动关闭阅读器?我的疑问是,由于我们使用的是Using指令,执行后它是否会自动关闭阅读器?

谢谢,

马赫什

4

1 回答 1

2

由于您正在使用using,并且返回的阅读器实现IDisposableDispose()将被自动调用。假设Dispose()正确实施(确实如此),它将做任何必要的事情来确保可以安全地处理对象。如果需要调用Close(),它将调用 Close;或者我们不需要知道的内部等价物。

于 2011-04-18T10:17:53.400 回答