JSP數(shù)據(jù)庫數(shù)據(jù)分頁顯示 ???[ 日期:2005-05-14 ]???[ 來自:轉(zhuǎn)載 ] |
<%--?? 功能:JSP數(shù)據(jù)庫操作例程?-?數(shù)據(jù)分頁顯示?-?JDBC?2.0?-?Oracle?? --%>?? <%@?page?contentType=\"text/html;charset=8859_1\"?%>?? <%?? //變量聲明?? java.sql.Connection?sqlCon;?//數(shù)據(jù)庫連接對象?? java.sql.Statement?sqlStmt;?//SQL語句對象?? java.sql.ResultSet?sqlRst; //結(jié)果集對象?? java.lang.String?strCon; //數(shù)據(jù)庫連接字符串?? java.lang.String?strSQL; //SQL語句?? int?intPageSize; ?//一頁顯示的記錄數(shù)?? int?intRowCount; ?//記錄總數(shù)?? int?intPageCount; //總頁數(shù)?? int?intPage; ?//待顯示頁碼?? java.lang.String?strPage;?? int?i;?? //設(shè)置一頁顯示的記錄數(shù)?? intPageSize?=?2;?? //取得待顯示頁碼?? strPage?=?request.getParameter(\"page\");?? if(strPage==null){//表明在QueryString中沒有page這一個參數(shù),此時顯示第一頁數(shù)據(jù)?? ?intPage?=?1;?? }?? else{//將字符串轉(zhuǎn)換成整型?? ?intPage?=?java.lang.Integer.parseInt(strPage);?? ?if(intPage<1)?intPage?=?1;?? }?? //裝載JDBC驅(qū)動程序?? java.sql.DriverManager.registerDriver(new?oracle.jdbc.driver.OracleDriver());?? //設(shè)置數(shù)據(jù)庫連接字符串?? strCon?=?\"jdbc:oracle:thin:@linux:1521:ora4cweb\";?? //連接數(shù)據(jù)庫?? sqlCon?=?java.sql.DriverManager.getConnection(strCon,\"hzq\",\"hzq\");?? //創(chuàng)建一個可以滾動的只讀的SQL語句對象?? sqlStmt?=?sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);?? //準備SQL語句?? strSQL?=?\"select?name,age?from?test\";?? //執(zhí)行SQL語句并獲取結(jié)果集?? sqlRst?=?sqlStmt.executeQuery(strSQL);?? //獲取記錄總數(shù)?? sqlRst.last();?? intRowCount?=?sqlRst.getRow();?? //記算總頁數(shù)?? intPageCount?=?(intRowCount+intPageSize-1)?/?intPageSize;?? //調(diào)整待顯示的頁碼?? if(intPage>intPageCount)?intPage?=?intPageCount;?? %>?? <html>?? <head>?? <meta?http-equiv=\"Content-Type\"?content=\"text/html;?charset=gb2312\">?? <title>JSP數(shù)據(jù)庫操作例程?-?數(shù)據(jù)分頁顯示?-?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);?? ?//顯示數(shù)據(jù)?? ?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>?? <%?? //關(guān)閉結(jié)果集?? sqlRst.close();?? //關(guān)閉SQL語句對象?? sqlStmt.close();?? //關(guān)閉數(shù)據(jù)庫?? sqlCon.close(); |