首页 > 编程 > JSP > 正文

JSP数据库数据分页显示

2024-09-05 00:19:06
字体:
来源:转载
供稿:网友
<%--
功能: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();
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表