OledbConnection.Dispose()是否关闭连接?
可能重复:
如果使用using子句,是否需要关闭DbConnection?
OledbConnection.Dispose()
是否关闭连接?
我知道SqlConnection
做但是OledbConnection
呢?
是的,它也是。
来源: OleDbConnection.Dispose方法(布尔值)
Dispose方法调用Close,并从连接池中删除OleDbConnection。
有关详细信息,请参阅参考链接上的“ Remarks
部分,以了解有关释放托管和非托管资源的情况。
是的,根据MSDN http://msdn.microsoft.com/en-us/library/aa325890(v=vs.71).aspx上的文档, OleDbConnection.Dispose()
也会调用OleDbConnection.Close()
。
是的它确实是MSDN :
Dispose方法调用Close,并从连接池中删除OleDbConnection。
请注意,以上内容来自.NET Framework 1.1。 但是(在这种情况下)你可以指望没有改变的事情。
此外,您几乎可以100%确定实现IDbConnection
每个类都将“关闭” Dispose
方法中的连接 – 无论对于特定实现的意义是什么都不相关,但它等同于手动调用Close
。
每个不以这种方式行事的实施都应该被IMO认为是破碎的。
是。 如果没有,那么就无法完全处理它的资源。 BinaryReader,BinaryWriter等也都关闭了底层流
这是最终certificate.. Dispose
方法的实际代码,使用reflection器:
// System.Data.OleDb.OleDbConnection protected override void Dispose(bool disposing) { if (disposing) { this._userConnectionOptions = null; this._poolGroup = null; this.Close(); } this.DisposeMe(disposing); base.Dispose(disposing); }