分页时打印结果集已耗尽

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:45   1272   0
public List<Items> fpage(int page,int pageSize,int id) throws SQLException {
String totalSql="";
String rumSql="";
int total=-1;
int pages=-1;
Connection conn=JDBCUtils.getConn();
PreparedStatement prs = conn.prepareStatement(totalSql);
prs.setInt(1, id);
ResultSet rul = prs.executeQuery();
//总条数
while(rul.next()) {
total= rul.getInt(1);
}
rul.close();
prs.close();
conn.close();
//确定总页数
int mod=total%pageSize;
if(mod==0) {
pages=total/pageSize;
}else if(mod>0){
pages=total/pageSize+1;
}
//页数是否为最后一页
if(page>pages) {
page=pages;
}else if(page<0) {
page=1;
}

//计算开始和结束的位置
int begin = (page-1)*pageSize+1;
int end = begin+pageSize-1;
Connection connLast = JDBCUtils.getConn();
PreparedStatement prs1=connLast.prepareStatement(rumSql);
prs1.setInt(1, id);
prs1.setInt(2,begin);
prs1.setInt(3, end);
ResultSet rul1 = prs1.executeQuery();
List<Items> list = new ArrayList<>();
while(rul1.next()) {
//一个对象
Items item = new Items();
item.setId( rul.getInt(1));
item.setCid(rul1.getString(2));
item.setTitle(rul1.getString(3));
item.setPrice(rul1.getInt(4));
item.setImage(rul1.getString(5));
list.add(item);
System.out.println("结果"+list.size());
}
rul1.close();
connLast.close();
return list;
}

进入循环中,并不能打印出结果,主要是红色部分是上面的结果集,已经到最后,并且被关闭,写代码的时候得仔细了

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP