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();