当前位置: 技术问答>java相关
关于用尽的ResultSet 续问
来源: 互联网 发布时间:2015-02-23
本文导语: 昨天问了一个问题 ////////////////////////////////////////////////////////// 表时间:2001-11-20 23:24:42 各位大侠,请帮帮忙阿! 我有一个经常遇到的问题,我编了一个jsp网页,其中网页中的数据很多都是从数据库中取...
昨天问了一个问题
//////////////////////////////////////////////////////////
表时间:2001-11-20 23:24:42
各位大侠,请帮帮忙阿!
我有一个经常遇到的问题,我编了一个jsp网页,其中网页中的数据很多都是从数据库中取出来的,取数据的部分我做了一个专门的bean,我在jsp中指定网页每60秒刷新一次,可以开着网页一段时间(可能有十分钟吧),网页就显示“用尽的Result set”,其他就是一大堆垃圾提示了,不知道是怎么回事,请大家赐教。
我在jsp中是这样用ResultSet的
ResultSet rs1;
sql1="Select * from 指标值表 ";
basicDB.DBConnect();
rs1=basicDB.executeQuery(sql1);
哦,最后,我没有写rs1.close;
不知道与这有没有关系,如果没有怎么办?
回复贴子:
回复人: Lymanlu(猪在飞) (2001-11-21 10:12:34) 得2分
这是因为ResultSet的游标已经指向ResultSet的末尾,再读取当然会异常啦!
回复人: ycats(加菲猫) (2001-11-21 16:30:37) 得3分
数据库资源必须释放,不然会耗尽的。
///////////////////////////////////////////////////////////////////////////
怎么回收数据库资源阿?????????????????
//////////////////////////////////////////////////////////
表时间:2001-11-20 23:24:42
各位大侠,请帮帮忙阿!
我有一个经常遇到的问题,我编了一个jsp网页,其中网页中的数据很多都是从数据库中取出来的,取数据的部分我做了一个专门的bean,我在jsp中指定网页每60秒刷新一次,可以开着网页一段时间(可能有十分钟吧),网页就显示“用尽的Result set”,其他就是一大堆垃圾提示了,不知道是怎么回事,请大家赐教。
我在jsp中是这样用ResultSet的
ResultSet rs1;
sql1="Select * from 指标值表 ";
basicDB.DBConnect();
rs1=basicDB.executeQuery(sql1);
哦,最后,我没有写rs1.close;
不知道与这有没有关系,如果没有怎么办?
回复贴子:
回复人: Lymanlu(猪在飞) (2001-11-21 10:12:34) 得2分
这是因为ResultSet的游标已经指向ResultSet的末尾,再读取当然会异常啦!
回复人: ycats(加菲猫) (2001-11-21 16:30:37) 得3分
数据库资源必须释放,不然会耗尽的。
///////////////////////////////////////////////////////////////////////////
怎么回收数据库资源阿?????????????????
|
当然要写啦,就写 basicDB.close();
|
rs不用,但是最后你的Connection最好关掉
|
自己看看呢,有没有什么不一样的
Connection conn = null;
try{
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("sqlserver");
conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(Str);
while(rs.next())
{ }
stmt.close();
}catch(Exception e){
out.println(e.getMessage());
}
if (conn!=null) conn.close();
Connection conn = null;
try{
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("sqlserver");
conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(Str);
while(rs.next())
{ }
stmt.close();
}catch(Exception e){
out.println(e.getMessage());
}
if (conn!=null) conn.close();