JSP+ACCESS 分页问题

spirit_kolin 2008-05-26 06:30:16
我是用JSP做的 用ACCESS 数据库 但是分页出现问题 点下一页 显示的还是第一页内容 下面显示的页面已经跳转。。谁帮我看看程序啊

<%@ page import="java.sql.*" pageEncoding="utf-8"%>
<%@ page language="java" import="java.lang.Math.*" %>

<%@ page contentType="text/html"%>
<jsp:useBean id="conn" scope="page" class="db.db"/>

<%!

ResultSet rs=null;
ResultSet rsTmp=null;
String sql="";
int PageSize=6;
int Page=1;
int totalPage=1;
String str="";

public String ShowOnePage(ResultSet rs,int Page,int PageSize){
str="";
//先将记录指针定位到相应的位置
try{
rs.absolute((Page-1)*PageSize+1);
}catch(SQLException e){
}
for(int iPage=1;iPage<=PageSize;iPage++ ){
str+=RsToGbook(rs);
try{
if(!rs.next())break;
}catch(Exception e){
System.out.println("Locate Current Page Error!");
}
}
return str;
}
//显示单行记录子模块


public String RsToGbook(ResultSet rs){
String tt="";
String email="";
String homepage="";
String name="";
String sex="";
String subject="";
String memo="";
String gtime="";
try{
email=rs.getString("email");
homepage=rs.getString("homepage");
name=rs.getString("name");
sex=rs.getString("gender");
subject=rs.getString("title");
memo=rs.getString("content");
gtime=rs.getString("gtime");

if(!email.equals("")){
email="<A href='mailto:"+email+"'><img src='images/email.gif' border='0' alt='电子邮件信箱'></A>";
}
if(homepage.equals("http://")||homepage.equals("")){
homepage="";
}else{
homepage="<A href='"+homepage+"'><img src='images/homepage.gif' border='0' alt='首页'></A>";
}

tt+="<table border='0' width='70%'>";
tt+="<tr><td><table border='0'><tr><td><img src='images/buttom-g.gif'>";
tt+=name+"</td><td>";
tt+=email+homepage;
tt+="</td><td><font style='font:9pt 宋体'>[</font><font style='font:9pt 宋体'color='bule'>"+sex;

tt+="</font><font style='font:9pt 宋体'>]</font></td></tr></table></td></tr>";
tt+="<tr><td></td></tr>";
tt+="<tr><td colspan='4'>"+"<img src='images/file.gif' border='0'alt='主题'>"+subject+"</td></tr>";
tt+="<tr><td colspan='4'>"+"<img src='images/write.gif' border='0'alt='留言'>"+memo+"</td></tr>";
tt+="<tr><td colspan='4'><font face='Arial' size='1'>["+gtime+"]</td></tr>";
tt+="<hr border='1' width='100%'></table>";
}catch(SQLException e){}
return tt;
}
%>
<%


sql="select * from gbook order by gtime desc";
try{
rs=conn.getBySql(sql);//修正
}catch(Exception e){
out.println("访问数据库出错!");
}
rsTmp=conn.getBySql("select count(*) as mycount from gbook");//修正
rsTmp.next();
int totalrecord=rsTmp.getInt("mycount");
if(totalrecord%PageSize==0)totalPage=totalrecord/PageSize;//如果是当前页的整数倍
else totalPage=(int)Math.floor(totalrecord/PageSize)+1;
if(totalPage==0)totalPage=1;
rsTmp.close();
try{
if(request.getParameter("page")==null||request.getParameter("page").equals(""))//修改page
Page=1;
else
Page=Integer.parseInt(request.getParameter("page"));// 修改。。。。。
}catch(java.lang.NumberFormatException e){
//捕获用户从浏览器地址栏直接输入Page=sdfsdf所造成的异常
Page=1;
}
if(Page<1)Page=1;
if(Page>totalPage)Page=totalPage;

%>
<html>
<body bgcolor="#ffffff">
<div align="center">
<img src="images/gbook.gif" width="374" height="93"><br>
[<a href="form.html"><font color="red" onmouseover="this.style.color='#0000bb'" onmouseout="this.style.color='red'">我要留言</font></a>]
<%
out.println((ShowOnePage(rs,Page,PageSize)));
%>
<form action="liuyan.jsp" method="get">
<%
if(Page!=1){
out.println("<A href=liuyan.jsp?page=1>第一页</A>");
out.println("<A href=liuyan.jsp?page="+(Page-1)+">上一页</A>");

}
if(Page!=totalPage){
out.println("<A href=liuyan.jsp?page="+(Page+1)+">下一页</A>");
out.println("<A href=liuyan.jsp?page="+totalPage+">最后一页</A>");
}
rs.close();
%>
<p>输入页数:<input type="text" name="Page" size="3">页数:<font color="red"><%=Page%>/<%=totalPage%></font>
</p>
</form>

<a href="form.html">返回留言表单</a><br><br>
</div>

</body>
</html>
急着找问题啊
...全文
131 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
baiyang3721 2008-06-04
  • 打赏
  • 举报
回复
rs.absolute((Page-1)*PageSize+1);
在翻页的时候要对Page重新赋值。。。。
没仔细看,好像没有赋值的地方
勤劳滴小蜜蜂 2008-06-04
  • 打赏
  • 举报
回复
你把你的错误贴出来啊。给这么多代码没几个人会看的。你因该先贴错误,然后有人叫你贴代码你再贴代码。
spirit_kolin 2008-06-04
  • 打赏
  • 举报
回复
楼上怎么说 我看了好久多没发现错误啊
yougucao379548695 2008-05-31
  • 打赏
  • 举报
回复
//先将记录指针定位到相应的位置 
try{
rs.absolute((Page-1)*PageSize+1);
}catch(SQLException e){
}
for(int iPage=1;iPage <=PageSize;iPage++ ){
str+=RsToGbook(rs);
try{
if(!rs.next())break;
}catch(Exception e){
System.out.println("Locate Current Page Error!");
}
}
return str;
}


问题在上边吧

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧