jsp分页关于rs.absolute

来源:百度知道 编辑:UC知道 时间:2024/05/26 13:11:02
rs.absolute((Page-1)*pagesize+1);
请教一下各位,为什么呀Page-1,后面pagesize+1呢
String str=(String)request.getParameter("Page");
if(str==null){
str="0";
}
int pagesize=10;
rs.last();
int RecordCount=rs.getRow();
//out.println(String.valueOf(RecordCount));
int maxPage=0;
maxPage=(RecordCount%pagesize==0)?(RecordCount/pagesize):(RecordCount/pagesize+1);

int Page=Integer.parseInt(str);
if(Page<1){
Page=1;
}else{
if(Page>maxPage){
Page=maxPage;
}
}
rs.absolute((Page-1)*pagesize+1);
jsp的,不是asp请教一下各位,为什么呀Page-1,后面pagesize+1呢

你想想嘛
假如有20条数据,一页10条
第二页数据应该从11条算,如果直接“页数*10”就是20,跑到最后一条数据
“页数-1”*10+1就是第一页的最后一条数据+1,就是第二页的第一条数据了嘛。

这是ASP的吧....

rs.absolute 是指定数据集的位置,其实就是定位第PAGE页的第一条记录

pagesize是每页包含的记录数.

page是页码

这个是算法,说不出原因,举例子给你吧.

如果pagesize=10
如果PAGE=1(显示第一页),那么数据集必须定位到第一条记录,

所以 (1-1)*10+1=1 正确

PAGE=2 (显示第2页),那么数据集必须定位到第11条记录,(2-1)*10+1=11

这两个变量都代表什么呀
page:页码??
pagesize:显示多少行?
还是其它的什么
会不会page这个变量得到的时候会比页码大1呢?要不根本不应该减1的。