文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SqlConnection.Close 与 SqlConnection.Dispose 调用谁更好?

SqlConnection.Close 与 SqlConnection.Dispose 调用谁更好?

时间:2011-03-09  来源:夜闻香

有时候像我这种菜鸟程序猿,因为对于数据库不熟悉,时常写出下面这种代码:

' 打开一个SQL连接
Using conn As New SqlConnection("...")
  conn.Open()
  
' ...
  conn.Close()
  conn.Dispose()
End Using

实际上这段代码是冗余的,给出最简单的代码

Using conn As New SqlConnection("...")
  conn.Open()
  
' ...
End Using

是的,这段代码已经能正常的工作,并且,不需要担心数据库没有关闭。

====昏割线====

以前我一直都有一个疑问,在调用数据库连接之后,究竟是应该使用Close来关闭连接,还是用Dispose接口来释放资源?究竟它们之间的调用关系是什么样的?

带着这样的疑问,用Reflector打开了 System.Data.dll 文件,查看了 SqlConnection 的源码,发现实际上Dispose会主动调用自己的Close方法,这样在数据库连接实例将被销毁之时,主动关闭数据库的连接。

IDispose接口可以通过Using关键字实现使用后立刻销毁,因此,Dispose适合只在方法中调用一次SqlConnection对象,而Close更适合SqlConnection在关闭后可能需要再次打开的情况。

====昏割线====

嗯,经过这次分析与探索,老夫成功地省略了2行代码!!!

不过话说浪费10分钟省略2行代码,我怎么觉得我有点...没事儿找抽啊...

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载