Oracle中實現分頁的SQL語句和在JSP頁面實現分頁技術

寫了兩個有關分頁的SQL語句,希望對大家有點幫助...記住,只能在Oracle下使用。

1 獲取總頁數 
   SELECT DECODE(mod(COUNT(*),100),0,COUNT(*)/100,TRUNC(COUNT(*)/100,0)+1)  
   AS  pages FROM XZQH  

SELECT DECODE(mod(COUNT(*),100),0,COUNT(*)/100,TRUNC(COUNT(*)/100,0)+1)AS  pages FROM XZQH

其中XZQH是表名,可以換成別的表格或者與別的表格相連或者加上查詢條件....總之可以把XZQH換成FROM后的一切東西. 

100是沒頁顯示的記錄數,換成你想要的!!! 

生成結果是具有pages列的一個表格.可以用resultSet.getInt("pages")獲得 

2 獲取特定的記錄數據 
   SELECT x.* from (SELECT z.*,rownum numbers from XZQH z where rownum<101) x="" where="" x.numbers="">90  

SELECT x.* from (SELECT z.*,rownum numbers from XZQH z where rownum<101) x="" where="" x.numbers="">90

其中XZQH的含義與上述一樣,可以換成你任何想要的條件和表連接 

其中101和90是指定界限的數字,拿此例來說,是取出第90-----100條數據. 

      2.select x.* from (select y.*,rownum row_id from (select z.* from admin z )y)x where row_id between 90 and 101

好了,點到為止..具體在實踐中該怎么用,大家自己慢慢琢磨吧!!! 





分頁技術(寫在jsp頁面的): 
1、先定義: 
 int pageSize=3;//每頁顯示3條數據
 int pageNow=1;//當前顯示頁數
 int pageCount=0;//共有多少頁(計算)
 int rowCount=0;//一共多少條數據(查表)


//動態接受PageNow的值從本頁面的超鏈接處得到的值
 String pagenow=request.getParameter("pageNow");
 if(pagenow!=null){
  pageNow=Integer.parseInt(pagenow);//把接受的值傳給pageNow
 }

2、獲取rowCount: 

TestJDBC1 jdbc=new TestJDBC1();
 String sql="select count(*)from admin";
 ResultSet rs=jdbc.query(sql);
 try {
  while(rs.next()){
   rowCount=rs.getInt(1);//獲得共多少條數據
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }

3、獲取pageCount: 

//分多少頁計算 
   //方法一 
   //if(rowCount%pageSize==0){ 
   // pageCount=rowCount/pageSize; 
   /


來源:博客園

上一篇: JVM參數對J2EE性能優化的影響

下一篇: java String和StringBuffer的區別

分享到: 更多
重庆时时开奖结果 3d一胆拖六直选多少钱 定位胆大小单双诀窍 博远棋牌 分分快三人工计划 二人斗地主好友私人房 黑龙江时时经网 pk10计划软件免费版 亚洲女篮中日决赛 下载牛牛游戏 新强时时彩票开奖 qq分分彩计划软件 彩神软件 藏分出款是什么意思 pk10冠军固定公式 投注世界杯