可以用ado,recordset属性的rs_dz.cachesize

解决方案 »

  1.   

    create proc procname
    @time int,@string varchar(2000)
    as 
    set @string="select top 100 * from tablename where bh>(select max(bh) from (select top"+ convert(char(7),100*@time)+" bh from tablename order by bh) c) order by bh"exec(@string)上面的@time就是你在客户端第几次取数据。
    甚至你可以把100也改成参数,可以动态指定取多少条数据。
      

  2.   

    我的表述有误,应该是第n次时,取(n-1)*100到n*100这100条,也就是中间的部分,而不是数据集前n*100条。
      请大虾帮忙!!!
      

  3.   

    在程序中增设一变量,设置为每次取的最后一项的id值。由于每次取的排序规则一定,所以ID值相对可以标识出上一次取的指针位置。再用top参数取出即可。
      

  4.   

    注意sql要有order by,已测试通过。
      

  5.   

    caijitao怎么就是不能明白我要问的问题呢??5555
      我是说每次取100条,第n次取时是从(n-1)*100到n*100第,是中间的这一段,而不是从第1条到n*100条。
      也可能是我不能理解你的回答,阁下说清楚一点吧,好吗?:)