论坛登陆 用户名:  密 码:
设为首页  加入收藏
08年北京名校秋季招生
名牌院校免试入学宽进严出,突破考分限制,名校与你零距离,以下院校按报名先后顺序录取,24小时网上报名覆盖全国
  您现在的位置: 中国教育招生在线 >> IT >> JAVA认证 >> IT正文
全面解析JDBC(七)
 作者:佚名     2007-3-14 17:20:41        来源:不详  浏览次数:


 

 

 

 

 

 

 

 

如何在JSP中实现分页显示?



  分页显示是Web数据库应用中经常需要遇到的问题,当用户的数据库查询结果远远超过了计算机屏幕的显示能力的时候,我们该如何合理的将数据呈现给用户呢?答案就是数据库分页显示,可以完美的解决上述问题。下面是一个数据库分页操作的通用实例,对任何数据库平台上的分页功能都有很好的借鉴意义。




<%@ page contentType="text/html;charset=8859_1" %>


<%


//变量声明


Java.sql.Connection sqlCon; //数据库连接对象


Java.sql.Statement sqlStmt; //SQL语句对象


Java.sql.ResultSet sqlRst; //结果集对象



Java.lang.String strCon; //数据库连接字符串


Java.lang.String strSQL; //SQL语句



int intPageSize; //一页显示的记录数


int intRowCount; //记录总数


int intPageCount; //总页数


int intPage; //待显示页码


Java.lang.String strPage;



int i;



//设置一页显示的记录数


intPageSize = 2;



//取得待显示页码


strPage = request.getParameter("page");


if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据


intPage = 1;


}


else{//将字符串转换成整型


intPage = Java.lang.Integer.parseInt(strPage);


if(intPage<1) intPage = 1;


}



//装载JDBC驱动程序


Java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());



//设置数据库连接字符串


strCon = "jdbc:oracle:thin:@linux:1521:ora4cweb";



//连接数据库


sqlCon = Java.sql.DriverManager.getConnection(strCon,"hzq","hzq");



//创建一个可以滚动的只读的SQL语句对象


sqlStmt = sqlCon.createStatement(Java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,Java.sql.ResultSet.CONCUR_READ_ONLY);



//准备SQL语句


strSQL = "select name,age from test";



//执行SQL语句并获取结果集


sqlRst = sqlStmt.executeQuery(strSQL);



//获取记录总数


sqlRst.last();


intRowCount = sqlRst.getRow();



//记算总页数


intPageCount = (intRowCount+intPageSize-1) / intPageSize;



//调整待显示的页码


if(intPage>intPageCount) intPage = intPageCount;


%>



<html>


<head>


<meta http-equiv="Content-Type" content="text/html; charset=gb2312">


<title>JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle</title>


</head>



<body>



<table border="1" cellspacing="0" cellpadding="0">


<tr>


<th>姓名</th>


<th>年龄</th>


</tr>



<%


if(intPageCount>0){


//将记录指针定位到待显示页的第一条记录上


sqlRst.absolute((intPage-1) * intPageSize + 1);



//显示数据


i = 0;


while(i<intPageSize && !sqlRst.isAfterLast()){


%>


<tr>


<td><%=sqlRst.getString(1)%></td>


<td><%=sqlRst.getString(2)%></td>


</tr>


<%


sqlRst.next();


i++;


}


}


%>



</table>



第<%=intPage%>页 共<%=intPageCount%>页


<%if(intPage<intPageCount){%><a href="jdbc20-oracle.jsp?page=<%=intPage+1%>">下一页


</a><%}%> <%if(intPage>1){%><a href="jdbc20-oracle.jsp?page=<%=intPage-1%>">上一页</a><%}%>



</body>


</html>



<%


//关闭结果集


sqlRst.close();



//关闭SQL语句对象


sqlStmt.close();



//关闭数据库


sqlCon.close();


%>



 

责任编辑:lss
  相关新闻
有关计算机水平考试全面20问
全面准备三级网络技术考试复习攻略
全面对比:Vista RTM 七个版本图集
程序员典型题汇与解析-程序设计语言的基础知识(1)
实战:全面保障FTP服务器的安全
Vista最终版自带声音全面升级更新
教你用Oracle解析函数快速检查序列间隙
JAVA教程:解析Java的多线程机制
内网Serv-U架站:实例解析FTP原理
JAVA编程:简析JAVA中的XML解析读取
有关计算机水平考试全面20问
程序员典型题汇与解析-程序设计语言的基础知识(1)
教你用Oracle解析函数快速检查序列间隙
全面解析JDBC(八)
实例解析SQL Server 2000和JDBC的融合
听Eric Pascarello如何解析Ajax安全性
Spring WebFlow:重用与抽象框架解析之二
Spring WebFlow:重用与抽象框架解析之一
详细为您解析JSP的环境引擎--Websphere
听Eric Pascarello如何解析Ajax安全性
  评论
现在有100人对本文发表评论
查看所有评论
 
推  荐
 
100本成功必读热销书
热门招生
  北京文理研修学院   前进大学
  北京明园大学   北京建设大学
  北京邮电大学世纪学院   北方工商管理学院
  联想软件定向委培班   香港数码动画学院
  青年企业管理研修学院   北京华夏管理学院
热门培训
网络化办公专家培训认证 电子科技大学软件学院
软件测试工程师培训认证 北大青鸟十大授权培训
IT硬件工程师培训认证班 北京环球雅思荷兰预科
JAVA开发工程师培训 潜能时代IT服务管理培训
网络信息化工程师培训 清华大学继续教育学院
论坛精选
 
有些细节是男人也该注意的风度!最容易读错的字
某强人手机里保存的30条短信 中国十大高薪职业
最感人的十大韩剧经典台词 嫁给工程师的N个理由
爆强!只有一句话的鬼故事 转贴教你如何做妖精
 女人一定要記住的話 女人最好别嫁给最爱的男人
城市联盟
 大连 上海 天津 广州 西安 深圳  天津  青岛  大连  福州  沈阳  青海  连云港  南京  吉林  厦门  威海  辽宁  呼和浩特
Copyright © 2006   www.edu999.com   All rights reserved. 中国教育招生在线  版权所有
北京市通信管理局[2004]字第552号函    京ICP证040442号