JSP數據庫數據分頁顯示
???[ 日期:2005-05-14 ]???[ 來自:轉載 ] |
<%--?? 功能: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(); |
|