Connection 对象的 Close 和 Dispose

作者:vkvi 来源:千一网络(原创) 日期:2007-8-15

Connection 对象(包括 SqlConnection 和 OleDbConnection)其中有两个方法:Close 和 Dispose。

需不需要调用这两个方法?

需要!通过 Finalize(析构函数)、Dispose、Close 的区别与使用和 MSDN 相关资料,可以得知 Connection 对象的 Close 是关闭数据库连接,并不是销毁对象,所以良好的习惯是先调用 Close,再调用 Dispose。

下面的程序思路可以帮助您证明 Connection 对象的 Close 并没有销毁对象。

SqlConnection conn = new SqlConnection(connectionstring);
conn.Open();
conn.Close();
//代码省略,这里再次使用 conn 对象,conn 对象仍然存在
conn.Dispose();
//代码省略,这里再次使用 conn 对象,报错说 conn 没有初始化

说明

  • 这里所说的 Close 方法是针对于 Connection 对象,其它对象的 Close 方法并不是一定没有释放资源。
  • Close 方法并不是真正的关闭数据库连接,而是将连接放入连接池
  • using 语句中可以自动调用 Dispose。

你前面那位网友看了:SQL Server 密码查看工具:Enterprise Manager PassView

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
赞助商们
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他