Web開發中一種用sql語句完成分頁的高效率方法,以jsp/asp為例 (轉)

gugu99發表於2007-12-10
Web開發中一種用sql語句完成分頁的高效率方法,以jsp/asp為例 (轉)[@more@]

一、方法如下:
**********************
" import="java.util.*,java..*" %>

<!--引用操作的bean,自己完成,這裡不再贅述--&gt
int curpage=1;//當前頁
int page_record=20;//每頁顯示的記錄數
//用下面的方法(sql查詢完成,速度快)
curpage=Integer.parseInt(request.getParameter("page"));//獲取傳遞的值,需要顯示的頁
ResultSet rs=cn.rsexecuteQuery(" top "+page_record+" * from tablename where id not in (select top "+(curpage*page_record)+" id from tablename order by id desc) order by id desc");
//本查詢語句得到的是所要顯示的1000頁的20條記錄,大致思路為——子查詢排除需要顯示的記錄前的所有記錄,父查詢則對餘下的記錄進行降序排列
while(rs.next) {
 out.println(rs.getInt("id").toString());
}
rs.close();
%>
**********************
二、中的方法
*******************
" CODEPAGE="936"%>
dim curpage=1'當前頁
dim page_record=20'每頁顯示的記錄數
curpage=request("page")'獲取傳遞的值,需要顯示的頁
……'連線資料庫操作程式碼省略
rs.open "select top "+page_record+" * from tablename where id not in (select top "+(curpage*page_record)+" id from tablename order by id desc) order by id desc",conn,1,3
'本查詢語句得到的是所要顯示的1000頁的20條記錄,大致思路為——子查詢排除需要顯示的記錄前的所有記錄,父查詢則對餘下的記錄進行降序排列
while not rs.eof
response.write rs("id")
rs.movenext
wend
rs.close
conn.close
%>
*********************
感謝閱讀,希望本文對你有幫助


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-990778/,如需轉載,請註明出處,否則將追究法律責任。

相關文章