结果集是否必须关闭
1、我用的是TOMCAT4.10的连接池
2、我做了一个简单的查询,输出结果
3、当我在程序中加入rs.close()时,在不断的刷新后出现错误Result已经关闭,继续刷新恢复正常。
4、我将程序中的rs.close()去掉时,不出现错误提示。
5、以上两种刷新,一次次的刷没有问题,当一直按住F5出现IE将进入白屏,进度条不动。
谁能帮我分析一下
结果集关不关闭有何影响?
刷新出问题是TOMCAT的事还是连接池的事?
问题点数:100、回复次数:12Top
1 楼CoolAbu(阿卜-Never Stop(★★★★))回复于 2004-05-03 16:04:44 得分 20
如果结果集不关闭,又没有用连接池,那么在并发访问很多的情况下容易把服务器搞Down掉。
一般不关闭会导致占用资源越来越多,最终服务器Crash掉,最好还是及时释放。
刷新出现问题应该是连接池的原因,它都有一个最大连接数。
Top
2 楼BillyW(阿弥陀佛)回复于 2004-05-03 16:21:12 得分 20
每次用完以后最好
1.关闭ResultSet
2.关闭ConnectionTop
3 楼lhbf(牧野)回复于 2004-05-03 16:23:04 得分 20
及时关掉用过的资源是一个良好的习惯。Top
4 楼zm1313(寂寞的人)回复于 2004-05-03 16:35:13 得分 0
1、我没有给rs赋初值
1_、现在我将rs=null;rs = ...;
2、关闭时原先是用的rs.close()
2_、if(rs!=null){rs.close();rs=null}
我想知道我前后两种方法,区别是什么?
ResultSet ,Statement,Connection的关闭顺序有什么说法没有
Top
5 楼gong1(轻松编程)回复于 2004-05-03 16:50:08 得分 20
是先关闭resultset,再关闭statement,然后关闭connection
^_^。
关闭,
如不管就会一直占着内存。
练习没什么,
可是实际的开发是不允许这样的。
^_^,
最好养成好的编程习惯。
^_^
Top
6 楼hui3zhihui(血已蓝----慧慧)回复于 2004-05-03 19:27:51 得分 0
养成好的习惯,用完了就关闭它!Top
7 楼babyfishlh(babyfishlh)回复于 2004-05-03 19:33:59 得分 20
关注一下,
顺便问一句:当使用连接池
if(rs!=null)
{
rs.close();
rs=null;
}
rs close后,rs = null;有必要要吗?
或者conn.close();还需要conn= null 吗?
我的理解时conn close后,conn就算时释放到连接池了,不用再conn = null了,conn close 后应该不是null。
不知道对不对,请大家指教!这个问题困惑了几天了。
Top
8 楼jeke342()回复于 2004-05-03 22:35:30 得分 0
在联接池中取得的联接一定要释放. 要不然当联接池中的可用联很快就会用完.Top
9 楼supercdh(皮蛋超人)回复于 2004-05-03 22:52:19 得分 0
最好还是关闭。这是一个好习惯Top
10 楼rainworm(早起的虫子有鸟吃)回复于 2004-05-04 00:00:14 得分 0
有些程序如果不关闭rs的话,可能编译的时候会出错,而有的不会,总之多那么一句也不碍事,是个好习惯Top
11 楼luckybeggar(木子)回复于 2004-05-04 10:07:40 得分 0
goodTop
12 楼babyfishlh(babyfishlh)回复于 2004-05-04 23:26:07 得分 0
顶一下Top




