黑马程序员技术交流社区

标题: 连接数据库时,为什么要用using? [打印本页]

作者: 董蒙蒙    时间: 2012-9-23 22:03
标题: 连接数据库时,为什么要用using?
连接数据库时,为什么要用using?
作者: 李阳Leo    时间: 2012-9-23 22:06
  1. using(sqlconnection con = new sqlconnection("……"){

  2. }
复制代码
在using的范围内,打开连接,出了作用域,连接就被.net的回收机制自己关闭了

可以防止忘记关闭连接
作者: 杨进    时间: 2012-9-23 23:14
本帖最后由 杨进 于 2012-9-23 23:18 编辑

open:打开数据库连接
close:关闭数据库连接,不过close后还能再open
dispose:销毁连接(如果连接还没有被close,dispose会先自动调用close方法)
使用using的话,在出了using的作用域后会自动调用dispose方法
作者: 侍小波    时间: 2012-9-25 16:38
using会自动调用new出来对象的Dispose方法,可以保证在各种情况下包括异常时都能释放非托管资源,数据库连接分配了非脱光资源,所以应该用using,
c#会把using编译成try/finally结构,在finally里调用using中表达式的对象的Dispose方法,如果没有Dispose方法则什么都不做




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2