三个方法:
1。用next()方法,
   选从50-100行
   int CurrentRow = 1;
   int MinRow = 50; 
   int MaxRow = 100;
   while(rs.next())
   {
       if (CurrentRow<MinRow)
       {
           CurrentRow++;
           continue;  
       }
   }
2.用abslout(int row)定位
  先定位到50行,然后next();
3.用sql完成
  SqlServer的语句:select top 50 * from (select top 100 * from sysobjects order by id desc) as a order by id
  
  Oracle的语句:
select * from (select rownum r ,* from test) ss
where ss.r > 50 and ss.r <= 100; 测试速度 :
abslute()最慢;定位到10000条以后无法忍受!
next();前面几条快,越往后越慢!
SqlServer语句,比next快很多,但也是越往后越慢!
Oracle语句,最快!几乎不受条数影响!
     

解决方案 »

  1.   

    TO: homey123(icemat) 
      SqlServer的语句:select top 50 * from (select top 100 * from sysobjects order by id desc) as a order by id
      
      Oracle的语句:
    select * from (select rownum r ,* from test) ss
    where ss.r > 50 and ss.r <= 100; 对这些语句......,如我要查的表是mytable,每页10条记录,如何写?
    SqlServer的语句:_______________________
      Oracle的语句:_______________________
      

  2.   

    SQL Server :
    SELECT TOP PageSize * FROM(SELECT TOP nPage*PageSize * from YOURTABLE )
      

  3.   

    Oracle的语句:_______________________
      

  4.   

    请问哪里有有关oracle的sql语句写法的资料下载?
      

  5.   

    Oracle:
    SELECT * FROM (SELECT * FROM mytable WHERE ROWNUM > 0 AND ROWNUM <=10  )
      

  6.   

    TO: upc_chenli(chenli) :
       rownum不能用“>”;
    我自己解决了。