JSP数据库数据分页显示

<%-- 
功能:JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle 
--%> 

<%@ 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();   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值