日期:2014-05-17  浏览次数:20977 次

response.redirect之前要不要关闭conn?
VBScript code

sql=".............."
set rs=.............
rs.open sq,conn,1,1
if ... then
    response.write ......
else
    'rs.close
    'set rs=nothing
    'conn.close
    'set conn=nothing
    '要在这里关闭吗?
    response.redirect "a.asp"   
end if 

rs.close
set rs=nothing

conn.close
set conn=nothing


一般情况下 rs和conn都在最后面关闭,那如果遇到redirect,是否要在redirect之前先关闭rs和conn呢?

------解决方案--------------------
跳转之后再关闭应该也是可以的。。
------解决方案--------------------
先关闭,跳转后关闭的不是原来的对象
------解决方案--------------------


我是压根从不关闭的
------解决方案--------------------
我一般遇到这种要跳转的情况都是在关闭了rs和conn后再跳转
------解决方案--------------------
记得重定向或Response.End后,会停止该页的执行
你要关就在之前关
不关也没事 会自动关的
------解决方案--------------------
楼主,,关闭不关闭不影响重定向,因为你那连接是数据库,而重定向完全与他们独立,只要tomcat服务器开着就不影响重定向,所以楼主的重定向与关闭数据库连接没有关系,对于数据库连接,只要楼主数据库取得连接,最好就关闭conn否则很耗资源的,
------解决方案--------------------
探讨

会自动关闭啊?

那为什么 每个页面底部都有个 conn.close
干脆让它们都自动关闭得了

------解决方案--------------------
用完就关。
------解决方案--------------------
探讨

你说是不是啊

------解决方案--------------------
理伦上说必须lose,防止内存泄露,用完的资源要即时的释放,否则会占用服务器的系统资源;另外,调用CLOSE也是coding的一个好习惯,虽然浏览器关闭时,会自动关闭对数据的连接。
------解决方案--------------------
按照楼主的代码结构,关不关都没有问题的。
但是建议关吧,养成 “过河拆桥”的习惯
------解决方案--------------------
不需要了
------解决方案--------------------
先关闭,再跳转
------解决方案--------------------

不管他会不会自动关

但是自己去关是一个 有头有尾的 好习惯
------解决方案--------------------
连接池的资源是有限的,尽量用完就关闭,归还连接