黑马程序员技术交流社区

标题: 释放与关闭有什么区别>? [打印本页]

作者: 戴鑫凯    时间: 2013-2-24 15:53
标题: 释放与关闭有什么区别>?
就是 Close() 和 Dispose()
  例如在ado.net中  
SqlConnection conn = new SqlConnection(connStr);
conn.Dispose(); 与 conn.Close();的区别
作者: 朱京辉    时间: 2013-2-24 16:03
sql的close连接关闭后还可以打开,必须Dispose注销掉就不能打开
using在除了作用域以后调用Dispose, SqlConnection,FileStream等的Dispose内部都会做这样的判断:判断有没有close,如果没有Close就是先Close后再Dispose
dispone()包括了close()操作, 和 注销连接的操作
close()只是关闭连接, 还可以打开

作者: 王立    时间: 2013-2-24 16:38
conn.Close(); 只是断开连接,可继续使用conn.Open();

conn.Dispose(); 释放资源后使用conn.Open();的话会异常
作者: 生活墨墨    时间: 2013-2-25 13:32
如果用using(SqlConnection conn = new SqlConnection(connStr);
){
           conn.open();
}
这样更好,这样的话直接关闭和释放空间。而且安全。




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