分页涉及的变量.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分页涉及的变量分页涉及的变量

分页涉及的变量: 总共的记录数。records 每页最大显示记录数。pageSize 总共的页码数。totalPages 当前页。currentPage 启始位置。startPos. 分页基本步骤: 求得相关数据库记录中总的条数。即:records的值。 将ResultSet的对象移动到该结果集的最后一行。rs.last(); 移动到最后一行后,取得当前行的行号。即为总的记录数。rs.getRow(); 2.求出总的页码数。 totalPages =(records%pageSize==0)?(records/pageSize): (records/pageSize+1) 3.判断当前行是否属于正常范围。即:当前页码一定要大于0且小于总的页码数。如果小于1,将当前页码至于1,如果大于总的页码,将当前页码至于总的页码数。 4.当用户传递当前页码后,就得将游标移动到总的ResultSet中的相应的启始位置。 (1)求出相应页码的对应的启位置。 startPos=(current1)*pageSize+1 (2)求出启始位置后,我们得将游标移到起始位置。 rs.absolute(startPos); 5.当某页的启始位置移动到相应的位置后。就要开始按顺序读。注意:一次最多只能读到pageSize,当记录条数不满足pageSize,那么读到相关页的最后一条即可。为了标记读取了多少记录,我们得定义一个临时变量来统计,之所以把变量的值赋值于1,是因为第4步中已经把游标移动到了第一行。注意:一定不要在while括号内写上rs.next(),我们只有读完第一行后,再调用next()移动游标。在while中,我们不仅判断读取的条数不能大于它的最大行,而且还要判断每行后面是否还有行。 int i=1; while(i=pageSize!rs.isAfterLast()) { rs.getXXX(“表的属性名/或者是第几列”); … //每读取一次,将i加1且游标向后移动一下。 i++; rs.next(); } 6.以上五步为分页最基本的步骤。现我们只要在页面改动当前页码的值即可以达到动态分页。怎么来改来当前页码值呢?当页面第一次访问的时候,默认当前页码的值是1.即:currentPage=1; 用户可以用通过超级链接怎么更改currentPage的值。首页的值为1,上一页的值为current1,下一页的值为currentPage+1,最后一页为totalPages.如果当前页面是第一页,则上一页不显示。 % if(currentPage1){ % 上一页 %}% 同理当前页为最后一页,则没有下一页。 % if(currentPagetotalPages){ % 下一页 %}% 通过url的重写来改变当前页码的值。拿上一页举例。 a href=”本页的名称.jsp?page=% =current1%” 上一页/a 接收第6步的通过url提交过来的页码。即:改动第6步提到的当前页码的默认值。此时我们要判断用户是否通过超级连接提交新的页码。以下获得参数的值不为空,则用户提交了最新的页码。 If(request.getParameter(“page”)!=null) currentPage=Integer.parseInt(request.getParameter(“page”)); 注意:我们的默认的ResultSet只能是只进并且按顺序来读,但是分页程序需要一个可以进,可以退的ResultSet。我们只要在创建Statement或者PreparedStatement时指定以下两个参数即可以达到只读并且可以滚动的结果集。即在Connection对象调用createStatement时指定相关参数。 Statement createStatement(int?resultSetType, int?resultSetConcurrency) throws SQLException 例如: Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)

文档评论(0)

cxiongxchunj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档