我的一个详细的jsp分页程序!(oracle+jsp+apache) 一 前提 希望最新的纪录在开头给你的表建立查询: 表:mytable 查询:create or replace view as mytable_view from mytable order by id desc 其中,最好使用序列号create sequence mytable_sequence 来自动增加你的纪录id号
二 源程序 <%String sConn="你的连接" Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn=DriverManager.getConnection(sConn,"你的用户名","密码"); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); Statement stmtcount=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=stmt.executeQuery("select * from mytable_view"); String sqlcount="select count(*) from mytable_view"; ResultSet rscount=stmtcount.executeQuery(sqlcount);
int pageSize=你的每页显示纪录数; int rowCount=0; //总的记录数 while (rscount int pageCount; //总的页数 int currPage; //当前页数 String strPage; strPage=request.getParameter("page"); if (strPage==null){ currPage=1; } else{ currPage=Integer.parseInt(strPage); if (currPage<1) currPage=1; } pageCount=(rowCount+pageSize-1)/pageSize; if (currPage>pageCount) currPage=pageCount;
int thepage=(currPage-1)*pageSize; int n=0; rs.absolute(thepage+1); while (n<(pageSize)&&!rs %> <%rs.close(); rscount.close(); stmt.close(); stmtcount.close(); conn.close(); %>
//下面是 第几页等 <form name="sinfo" method="post" action="sbinfo_index_condition__lt;%_type%_type_.html" onSubmit="return testform(this)"> 第<%=currPage%>页 共<%=pageCount%>页 共<%=rowCount%>条 <%if(currPage>1){%><a href="sbinfo_index_condition__lt;%_type%_type_.html">首页</a><%}%> <%if(currPage>1){%><a href="sbinfo_index_condition__lt;%_type%_page__type_.html">上一页</a><%}%> <%if(currPage<pageCount){%><a href="sbinfo_index_condition__lt;%_type%_page__type_.html">下一页</a><%}%> <%if(pageCount>1){%><a href="sbinfo_index_condition__lt;%_type%_page__type_.html">尾页</a><%}%> 跳到<input type="text" name="page" size="4" style="font-size:9px">页 <input type="submit" name="submit" size="4" value="GO" style="font-size:9px"> </form> |