| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 730 人关注过本帖
标题:[讨论]怎么样实现分页技术
只看楼主 加入收藏
yoyodo
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2005-12-8
收藏
 问题点数:0 回复次数:3 
[讨论]怎么样实现分页技术

不是使用javabean,怎么实现jsp的分页技术,下面有一个我写的分页代码,但是运行时出现错误.谁能告诉我哪里错了,或给我个正确的代码,供我参考下

<%@page language = "java"%>
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<%request.setCharacterEncoding("gb2312");%>

<%
//分页显示

//下面四句代码用于连接数据源
String url = "jdbc:odbc:data"; //定义数据源
String driver = "sun.jdbc.odbc.JdbcOdbcDriver"; //定义jdbc-odbc驱动
Class.forName(driver); //装载驱动
Connection conn = DriverManager.getConnection(url); //连接数据源
Statement smt = conn.createStatement();

//声明变量
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
int layer; //层,阶层
int idlayer;
String outtext;
String strPage;
int i,j;

idlayer = 1;
outtext = "";

//设置一页显示的记录数
intPageSize = 5;
//取得待显示页码
strPage = request.getParameter("page");
if(strPage == null) {
//strPage为空,表明在QueryString中没有paga这一个参数,此时显示第一页的数据
intPage = 1;
} else {
//将字符串转换成整型
intPage = Integer.parseInt(strPage);
if (intPage < 1) {
intPage = 1;
}
}

//SQL语句的定义与执行
String sql;
sql = "select * from student";
ResultSet rs = smt.executeQuery(sql); //执行sql语句
//获取记录总数
rs.last();
intRowCount = rs.getRow();
//计算页总数
intPageCount = (intRowCount + intPageSize - 1)/intPageSize;
//调整待显示的页码
if(intPage > intPageCount) {
intPage = intPageCount;
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
</head>
<body topmargin="0" leftmargin="0">
<table>
<tr>
<td>
页次:<%=intPage%>/<%=intPageCount%>页 <%=intPageSize%>条/页
</td>
</tr>
</table>
<table>
<tr>
<td>姓名</td>
<td>密码</td>
</tr>
<% if(intPageCount > 0) {
rs.absolute((intPage - 1) * intPageSize + 1);
i = 0;
while(i < intPageSize && !rs.isAfterLast()) {
String names = rs.getString("userName");
String password = rs.getString("password");
%>
<tr>
<td><%=names%></td>
<td><%=password%></td>
</tr>
<% rs.next();
i++;
}
}
%>
</table>
<%
if(intPage > 1) {
%>
<a href="page.jsp?page=<%=intPage-1%>">上一页</a>
<% }
%>
<%
if(intPage < intPageCount) {
%>
<a href="page.jsp?page=<%=intPage+1%>">下一页</a>
<% }
%>
</body>
</html>
<%
//关闭结果集
rs.close();
smt.close();
conn.close();
%>

搜索更多相关主题的帖子: 技术 
2006-04-15 14:40
yoyodo
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2005-12-8
收藏
得分:0 
我已经解决这个问题了,还是自己查资料解决问题的效率比较高啊

javax.servlet.ServletException: Result set type is TYPE_FORWARD_ONLY 根据这一句可以判断问题出在你opendb.opendb中,在该bean中你的结果集ResultSet 没有设置为可滚动的,但你又用了rs.previous()方法! 设置可滚动的ResultSet应该为: Statement stat=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
2006-04-16 15:22
dreame
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:521
专家分:0
注 册:2005-10-23
收藏
得分:0 
,自己动手丰衣足食啊哈哈 !

有时候真的想放弃寂寞的等待,但她是那么的可爱!I love u forever!
2006-04-17 13:53
bigboy000
Rank: 2
等 级:新手上路
威 望:3
帖 子:45
专家分:0
注 册:2006-4-2
收藏
得分:0 

2006-04-18 06:15
快速回复:[讨论]怎么样实现分页技术
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016050 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved