JSP数据库操数据分页显示

<% @ 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);

//显示数据

= 0;

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

%>

<tr>

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

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

</tr>

<%

sqlRst.next();

i
++;

}


}


%>

</ table >

<%= intPage %> & nbsp; & nbsp;共 <%= intPageCount %> & nbsp; & nbsp; <% if (intPage < intPageCount) {%><a href="jdbc20-oracle.jsp?page=<%=intPage+1%>">下一页</a><%} %>& nbsp; & nbsp; <% if (intPage > 1 ) {%><a href="jdbc20-oracle.jsp?page=<%=intPage-1%>">上一页</a><%} %>

</ body >

</ html >

<%

// 关闭结果集

sqlRst.close();

// 关闭SQL语句对象

sqlStmt.close();

// 关闭数据库

sqlCon.close();

%>  

 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值