我的java分页查询出现这样的异常,请问怎么解决?java.sql.SQLException: 关闭的 Resultset: next

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的java分页查询出现这样的异常,请问怎么解决?java.sql.SQLException: 关闭的 Resultset: next相关的知识,希望对你有一定的参考价值。

//分页获得账单信息
public List<Bill> getPageBillList(int PageNo, int PageSize)
Connection conn=null;
ResultSet rs=null;
conn=getConnection();
List<Bill> billList=new ArrayList<Bill>();
String sql="select id,name,amount,money,payable,provider,describe,billdate,providerid from(select id,name,amount,money,payable,provider,describe,billdate,providerid,rownum rn from billmgr) a where a.rn>? and a.rn<?";
Page page=new Page();
page.setCurrPageNo(PageNo);//设置当前页码
page.setPageSize(PageSize);//每页显示记录数
//计算sql语句其实记录数和结束记录数的行数
int startRow=page.getStartRows();
int endRow=page.getEndRows();
Object[]params=startRow,endRow;
rs=this.executesQl(sql, params);
try
while(rs.next())
int id=rs.getInt("id");
String name=rs.getString("name");
int amount=rs.getInt("amount");
String money=rs.getString("money");
String payable=rs.getString("payable");
String provider=rs.getString("provider");
String describe=rs.getString("describe");
Date date=rs.getDate("billdate");
int providerid=rs.getInt("providerid");
System.out.println("得到的id:"+id);
Bill bill=new Bill();
bill.setId(id);
bill.setName(name);
bill.setAmount(amount);
bill.setMoney(money);
bill.setPayable(payable);
bill.setProvider(provider);
bill.setDescribe(describe);
bill.setBilldate(new java.sql.Timestamp(date.getTime()));
bill.setProviderid(providerid);

billList.add(bill);

catch (SQLException e)
// TODO Auto-generated catch block
e.printStackTrace();
finally
closeRource(rs, null, conn);

return billList;

参考技术A 你应该是在这个方法executesQl
中已经关闭了resultset了,你看看。你为什么这么写呢?
就正常些,con,preparestatement,resultset就行了。本回答被提问者和网友采纳
参考技术B this.executesQl(sql, params);要贴出来哦
可能是在这个方法里面把数据库连接给关掉了
参考技术C page可以拿StartRows(),EndRows()? 参考技术D 检查一下你拼接的 sql语句 好像是他的问题

powerdesigner 连接mysql 后 出现 表重复 问题。 请问怎么解决?

参考技术A 我用过MySQL,也用过PD,但是没有处理过像您这样的问题。倒不图什么分不分的,谈一点我的看法,也许对你有用。
1、都是Sybase公司的产品,我建议您线装个PowerBuilder,版本最好9.0以上,如果这个可以直接访问MySQL的数据库,说明您的机器环境没问题,而且产品接口也没问题,再继续,如果有问题估计就得重装数据库或客户端连接工具了;
2、接口问题,如果能够直接使用MySQL的客户端连接最好,尽量不要用ODBC,微软转换过的东西就靠谱了;
3、如果用ODBC连,您可以尝试先用ACCESS通过ODBC导入数据的方式创建个表,先确认下连接有效性,然后试试ODBC接口的连接(不靠谱也没办法)。追问


很多表都这样。 重复了 2次。 

本回答被提问者和网友采纳

以上是关于我的java分页查询出现这样的异常,请问怎么解决?java.sql.SQLException: 关闭的 Resultset: next的主要内容,如果未能解决你的问题,请参考以下文章

请问一下安装Java,启动后出现这样的字符是怎么回事啊

Oracle的极大数据量的分页查询问题

请问,如何用一条SQL查询出分页的数据和总记录数啊?MySQL的!不用存储

关于一个分页中DataSet异常的问题

Spring的JdbcTemplate查询数据库时,使用queryForList().get(0)返回单行查询时会产生异常,请问如何避免?

MySQL百万级数据量分页查询方法及其优化建议