给你看看我的分页代码:
<%
int PageSize=10; //每一页显示的记录数
int ShowPage=1; //当前显示的页面
int RowCount=0; //总的记录数
int PageCount=0; //总的页数
int i;
String Page;Page=request.getParameter("page");
if(Page!=null)
{
ShowPage=Integer.parseInt(Page);
if(ShowPage>PageCount)
ShowPage=PageCount;
else if(ShowPage<=0)
ShowPage=1;
ShowPage=Integer.parseInt(Page);}
String sql=null;
String class_num;
class_num=new String(request.getParameter("class_num").getBytes("8859_1"),"GBK");
sql="SELECT * FROM press.expertinfo where class_num="+class_num+"";
if (sql!=null){
ResultSet rs=null;
String DBDriver = "oracle.jdbc.driver.OracleDriver";
String ConnStr = "jdbc:oracle:thin:@192.168.18.16:1521:press";
Connection con = null;
String username = "press";
String password = "press"; Class.forName(DBDriver).newInstance();
con = DriverManager.getConnection( ConnStr, username, password );
try{
Statement st= con.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
rs=st.executeQuery(sql);rs.last();
RowCount=rs.getRow();
PageCount=(RowCount+PageSize-1)/PageSize;if(PageCount>0)
//将记录指针定位到待显示页的第一条记录上
rs.absolute((ShowPage-1) * PageSize + 1);
//显示数据
i = 0;
String name,title,speciality,city,job,articlenum,booknum;
while(i<PageSize && !rs.isAfterLast()){rs.next();
name=getStr(rs.getString("name"));
title=rs.getString("title");
speciality=rs.getString("speciality");
city=rs.getString("city");
job=rs.getString("job");
articlenum=rs.getString("articlenum");
booknum=rs.getString("booknum");
out.println("<tr bgcolor='#FFFFFF'>");
out.println("<td width='10%'><font size=2>"+name+"</font></td>");
i++;
} }
catch(SQLException ex){
System.out.println(ex.toString());
}
}
%></table><br>
<%
String page1=(new Integer(ShowPage+1)).toString();
String page2=(new Integer(ShowPage-1)).toString();
out.println("<p align='center'>");
out.println("第"+ShowPage+"页");
out.println("共"+PageCount+"页");
if (ShowPage<PageCount)
out.println("<a href=class.jsp?page="+page1+"&class_num="+class_num+">"+"下一页"+"</a>");
if (ShowPage>1)
out.println("<a href=class.jsp?page="+page2+"&class_num="+class_num+">"+"上一页"+"</a>");
%>
<%
int PageSize=10; //每一页显示的记录数
int ShowPage=1; //当前显示的页面
int RowCount=0; //总的记录数
int PageCount=0; //总的页数
int i;
String Page;Page=request.getParameter("page");
if(Page!=null)
{
ShowPage=Integer.parseInt(Page);
if(ShowPage>PageCount)
ShowPage=PageCount;
else if(ShowPage<=0)
ShowPage=1;
ShowPage=Integer.parseInt(Page);}
String sql=null;
String class_num;
class_num=new String(request.getParameter("class_num").getBytes("8859_1"),"GBK");
sql="SELECT * FROM press.expertinfo where class_num="+class_num+"";
if (sql!=null){
ResultSet rs=null;
String DBDriver = "oracle.jdbc.driver.OracleDriver";
String ConnStr = "jdbc:oracle:thin:@192.168.18.16:1521:press";
Connection con = null;
String username = "press";
String password = "press"; Class.forName(DBDriver).newInstance();
con = DriverManager.getConnection( ConnStr, username, password );
try{
Statement st= con.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
rs=st.executeQuery(sql);rs.last();
RowCount=rs.getRow();
PageCount=(RowCount+PageSize-1)/PageSize;if(PageCount>0)
//将记录指针定位到待显示页的第一条记录上
rs.absolute((ShowPage-1) * PageSize + 1);
//显示数据
i = 0;
String name,title,speciality,city,job,articlenum,booknum;
while(i<PageSize && !rs.isAfterLast()){rs.next();
name=getStr(rs.getString("name"));
title=rs.getString("title");
speciality=rs.getString("speciality");
city=rs.getString("city");
job=rs.getString("job");
articlenum=rs.getString("articlenum");
booknum=rs.getString("booknum");
out.println("<tr bgcolor='#FFFFFF'>");
out.println("<td width='10%'><font size=2>"+name+"</font></td>");
i++;
} }
catch(SQLException ex){
System.out.println(ex.toString());
}
}
%></table><br>
<%
String page1=(new Integer(ShowPage+1)).toString();
String page2=(new Integer(ShowPage-1)).toString();
out.println("<p align='center'>");
out.println("第"+ShowPage+"页");
out.println("共"+PageCount+"页");
if (ShowPage<PageCount)
out.println("<a href=class.jsp?page="+page1+"&class_num="+class_num+">"+"下一页"+"</a>");
if (ShowPage>1)
out.println("<a href=class.jsp?page="+page2+"&class_num="+class_num+">"+"上一页"+"</a>");
%>
" WHERE obj_id NOT IN (SELECT TOP "
+ currPage * pageRecords + " obj_id FROM " + dataTableName +
" ORDER BY obj_id ASC ) ORDER BY obj_id ASC ";pageRecords : 条数
dataTableName : 数据库表名
currPage :当前页数记住这句话,不敢说是最好的,但绝对是最经典的 ------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
" WHERE obj_id NOT IN (SELECT TOP "
+ currPage * pageRecords + " obj_id FROM " + dataTableName +
" ORDER BY obj_id ASC ) ORDER BY obj_id ASC ";pageRecords : 条数
dataTableName : 数据库表名
currPage :当前页数记住这句话,不敢说是最好的,但绝对是最经典的 ------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
还有最好是把ResultSet放在Vector中,.
进行传递.分页的方法一楼的那位已经写的很详细了.
我就不多嘴了!:)^_^
TEST.java
TESTAction.java
TESTDAO.java
TESTForm.java
TEST.jsp
TESTOut.jsp代码见:
http://expert.csdn.net/Expert/topic/2228/2228055.xml?temp=.1732599