其三:在服務端分頁。跳到第n頁才查詢、顯示第n頁內容。要點就是根據客戶端**的「頁面」計算出資料庫要查詢的當前頁面的第一條記錄的位置。優點:實時性:跳頁才查詢。資料量小:只載入當前頁的記錄進行顯示。
重點在於兩條語句:select count(*) from …:查詢得到記錄總條數
select * from .. limit pageno,rowscount:查詢從第pageno條開始的rowscount條資料。
int pages=0; //待顯示頁面
int count=0; //總條數
int totalpages=0; //總頁數
int limit=10; //每頁顯示記錄條數
//計算記錄總數的第二種辦法:使用mysql的聚集函式count(*)
resultset sqlrst = sqlstmt.executequery("select count(*)
from user");
if(sqlrst.next())
//由記錄總數除以每頁記錄數得出總頁數
totalpages = (int)math.ceil(count/(limit*1.0));
//獲取跳頁時傳進來的當前頁面引數
string strpage = request.getparameter("pages");
//判斷當前頁面引數的合法性並處理非法頁號(為空則顯示第一頁,
小於0則顯示第一頁,大於總頁數則顯示最後一頁)
if (strpage == null) else catch(exception e)
if (pages < 1)
if (pages > totalpages)
}//由(pages-1)*limit算出當前頁面第一條記錄,由limit查詢limit條
記錄。則得出當前頁面的記錄
sqlrst = sqlstmt.executequery("select * from user
order by user_id limit "+(pages - 1)*limit + "," + limit);
while (sqlrst.next())
跳頁的實現:跳頁是通過重定向來實現的,通過向當前網頁傳進待顯示的pages,在跳轉後根據pages重新算出頁面顯示的第一條,查limit條顯示。
name="f1"
method="post"
action="index.jsp"
onsubmit=
"return
checknum()">
border="0"
align="center" >
第<%=pages%>頁 共<%=totalpages%>頁 href="index.jsp?pages=1">首頁a>
td>
td>
td>
href="index.jsp?pages=<%=totalpages%>">最後一頁a>
td>
轉到第:type="text"
name="page"
size="8">頁type="submit"
value="go"
name="***ok">
td>
tr>
table>
form>
**部落格: Oracle之分頁查詢
oracle的分頁查詢語句基本上可以按照本文給出的格式來進行套用。分頁查詢格式 select from select a.rownum rn from select from table name a where rownum 40 where rn 21其中最內層的查詢select from ta...
Oracle之分頁查詢
分頁查詢 在資料量大的情況下,返回指定資料段資料集合,即從第m條 到 第n條 資料集合。分頁查詢一般只需傳入兩個引數 起始記錄數m 終止記錄數n 方式1 select from select rownum as rowno,t.from t table t where 1 1 and rownum ...
SQL之分頁查詢
sql之分頁查詢 最新公司專案用到分頁的sql,與大家分享下,查詢起始頁和結束頁 select from select projectid,creatorid,directorid,managerid,projectno,projectname,status,startdate,finishdate...