在取结果时用for循环,用参数来控制要取出记录的条数。 
 例如:
  for(int i=0;i<=10;i++)
  {
   ………………
   ………………  if(!rs.next())
  break;
  }

解决方案 »

  1.   

    找一个分页类看看,感觉用LIMIT 的效率应该可以高一些
      

  2.   

    mysql分页:select * from account limit 10,20
    表示第11条到第30条记录
      

  3.   

    select top 10 * from TableName
      

  4.   

    一般,做翻页都是这样来实现
    //每次取设置的最大值,系统默认为:一次取10条记录
               stmt.setMaxRows(10+ 1);
                ResultSet rs = stmt.executeQuery(sql);
                if (rs != null)
                {
                  int n = 0;
                  while (rs.next()) {
                    n++;
      //循环取出只包含在开始记录数和结束记录数之间的记录。
                    if (n < startPoint) {
                        continue;
                    }                if (n <= endPoint) {
           //需要取的数据
                    }
            }
          }
      

  5.   

    limit分页对于数据rowscount小的如在10w之下,运行速度还是不错的!但是如果大于这个数,就越慢!
    这里的limit其实相当于mysql做了(分页的工作).建议如下做:
    假定表a有id字段从1开始到10000,共RowsCount=8515中间有删除你要通过策略取的改数)
    假定没页显示数据为PageSize为5.
    现在取得第二页8,9,11,16,21 记下minid=8,maxid=21
    如果是取第三页你可以这样写:select * from a where a.id>maxid limit 1,5
    如果是第一页你可以写:select * from a where a.id<minid order by id desc limit 0,5
    如果是跳转,你要计算minid,maxid
    在你说的系统中千万不要把逻辑运算交给数据库.
      

  6.   

    是的。用LIMIT 是好的。
    這樣一來就不用全部都放在rs中了。