轉貼請注明本貼地址以及作者:與莫扎特相遇(bobrow)
同學在做jsp實現一個網上交易平台時一碰到了這個問題,我想這個問題一定具有代表性,因為分頁顯示技術要用到的地方確實很多。為了減少初學者在這方面花的時間,我在一些資料的基礎上,總結了分頁顯示的方法。
方法一:
最常用的方法,就是使用直接中數據庫中獲得所有行的結果集,然後通過定位標志,使用next()。
示例代碼(數據庫使用mysql):
//變量聲明
Connection sqlCon; //數據庫連接對象
Statement sqlStmt;
ResultSet sqlRst; //結果集對象
String strCon; //數據庫連接字符串
String strSQL; //SQL語句
int intPageSize; //一頁顯示的記錄數
int intRowCount; //記錄總行數
int intPageCount; //總頁數
int intPage; //待顯示頁碼
int i;
/**
*獲得總的記錄行數
**/
Class.forName("com.mysql.jdbc.Driver").newInstance();
strCon = "jdbc:mysql://localhost:3306/test";
sqlCon = java.sql.DriverManager.getConnection(strCon,"root","1");
sqlStmt = sqlCon.createStatement();
strSQL = "select count(*) from message";
sqlRst = sqlStmt.executeQuery(strSQL); //執行SQL語句並取得結果集
sqlRst.next(); //記錄集剛打開的時候,指針位於第一條記錄之前
intRowCount = sqlRst.getInt(1); //獲取總的數據記錄行數
sqlRst.close(); //關閉結果集
/**
*記算總頁數
**/
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
/**
*獲得結果集
**/
strSQL = "select time,mail,content from message ORDER BY time DESC";