A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 宋超 中级黑马   /  2012-3-25 15:25  /  3354 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

conn.close(),conn.dispose()有什么关联?两个都在什么情况下使用?

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

6 个回复

倒序浏览
conn.close是用来关闭和数据库的连接,释放数据库资源
conn.dispose是用来释放对象的所在内存,释放程序占用的资源

评分

参与人数 1技术分 +2 收起 理由
郑文 + 2

查看全部评分

回复 使用道具 举报
conn.close()和conn.Dispose()和using(){}的区别是:
conn.close() 关闭数据库的链接,但是关闭以后还能够打开。
conn.Dispose():直接销毁,不能够再次的使用。
using在出了作用域以后调用Dispose.

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
  其实Dispose内部也调用了Close()方法,你反编译看看,

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
close():关闭数据库,关闭以后还可以通过open()再打开;
dispose(): 直接销毁连接,不能再次使用;

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
这就好比一条路是一个连接,close是把这条路给封起来,禁止通行,但还可以再放行,也就是可以再Open;而dispose是摧毁这条路,想再放行,必须重新建立连接,也就是重新new SqlConnection()。

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
conn.close() 关闭数据库的链接,但是关闭以后还能够打开。
conn.Dispose():直接销毁,不能够再次的使用,也就是不能再次打开连接。需要重新建立连接.

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马