你的数据库是什么的啊,不同的数据库有不同的写法啊,
Oracle的语句:
select * from (select rownum r ,* from test) ss
where ss.r > 500 and ss.r <= 520;  SqlServer的语句:select top 500 * from (select top 520 * from sysobjects order by id desc) as a order by id

解决方案 »

  1.   

    用next()方法,
       选从50-100行
       int CurrentRow = 1;
       int MinRow = 500; 
       int MaxRow = 520;
       while(rs.next())
       {
           if (CurrentRow<MinRow)
           {
               CurrentRow++;
               continue;  
           }
       }
    用abslout(int row)定位
      先定位到500行,然后next();测试速度 :
    abslute()最慢;定位到10000条以后无法忍受!
    next();前面几条快,越往后越慢!
    SqlServer语句,比next快很多,但也是越往后越慢!
    Oracle语句,最快!几乎不受条数影响!
      

  2.   

    我选的是Interbase,不过这与数据库没有关系的。
    不过你sqlserver的语句蛮不错,我可以试试。如果成功,冲着这个sql,我也给你分。
      

  3.   

    其实我的目的是,如何使用QueryDescriptor这个类。
    我是用QueryDataSet提取数据的。
      

  4.   

    db2:取出前5条select * from payment fetch first 5 row only
      

  5.   

    搞定这个:
    http://www.csdn.net/expert/topic/1004/1004416.xml?temp=.9450647