MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » 分页有关问题.

分页有关问题.(3)

www.MyException.Cn  网友分享于:2013-12-11  浏览:13次

        }   else   {
                this.maxPage   =   this.maxRowCount   /   this.rowsPerPage   +   1;
        }
}

/**
  *   获取根据记录总数和每页显示的记录数计算得出的总页数
  *
  *   @return   -   记录总页数
  */
public   int   getMaxPage()   {
        return   this.maxPage;
}

/**
  *   获取前台分页页面提交表单的名称
  *
  *   @return   -   提交表单的名称
  */
public   String   getFormName()   {
        return   this.formName;
}

/**
  *   获取前台分页页面的路径名称
  *
  *   @return   -   前台分页页面的路径名称
  */
public   String   getTarget()   {
        return   this.target;
}

        public   String   getKeys()   {
                return   keys;
        }

        public   int   getItid()   {
                return   itid;
        }

        /**
  *   获取默认每页显示的记录条数
  *


------解决方案--------------------
刚也在看别人的分页,只能帮顶顶呐....
------解决方案--------------------
那看看我的分页:


1,初始化一些必要参数:

<%//变量声明
Integer fid=new Integer(-1);
int intPageSize; //一页显示的记录数
int intRowCount; // 记录总数
int intPageCount; //总页数
int intPage; // 待显示页码
java.lang.String strPage;
int i;
//设置一页显示的记录数
intPageSize= 8;
//取得待显示页码
strPage = request.getParameter( "page ");
if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
}
else{//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage
<1) intPage = 1;
}

2,此处获得可逆的数据集合:(可逆:不但数据集合可以向下循环,并且需要向上循环,此处代码实现就不多说了)

ToolKit toolKit=new ToolKit();//连接数据库的一些设置和一些控制数据库方法
Connection cn = toolKit.openConn();//打开数据库连接,调用打开连接的方法
String sql = "Select * From FTMEDB.SUBJECT_SEGMENT where USERID=? order by DATEID desc ";
PreparedStatement sqlStmt=cn.prepareStatement(sql,java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);//这样写目的是为了获得可逆数据集合
sqlStmt.setString(1,(String)session.getAttribute( "id "));//通过使用封装好的PreparedStatement 类,添加条件。
ResultSet sqlRst = sqlStmt.executeQuery(); //执行SQL语句并获取结果集

3,开始获得一些分页所需要的数据,如:总页数,总记录数
if(sqlRst.next()){
sqlRst.last();//光标在最后一行
}
intRowCount = sqlRst.getRow();//获得当前行号,获取记录总数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;//记算总页数
if(intPage> intPageCount) intPage = intPageCount;//调整待显示的页码
%>

4,判断一些条件,记录数大于0时操作

if( intPageCount> 0){
sqlRst.absolute((intPage-1) * intPageSize + 1);//将记录指针定位到待显示页的第一条记录上
//显示数据
int j=(intPage-1)*intPageSize+1; //获得在总记录中当前页第一条记录的记录行号,然后循环体中循环递加就可以得到当页每个记录的记录号
i = 0;
while(i <intPageSize && ! sqlRst.isAfterLast()){
//循环获得sqlRst集合的数据
sqlRst.next();
i++;
j++;
}
}
//关闭结果集
sqlRst.close();
//关闭SQL语句对象

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有