我要查询一个有100万条记录的表,而且每次要显示一百条记录,点击向后就显示下100条记录。如何才能实现这样的功能,而且要提高查询速度。
   请教各位大侠如何有什么解决方法吗?

解决方案 »

  1.   

    select top 100 from 表名
      

  2.   

    用ado做分页很容易。
    CSDN上很多这样的文章,搜索一下
      

  3.   

    如果用clientdataset的话,有个属性可以设置的好象是packetrecords
      

  4.   

    用ClientDataSet,设置PacketRecords属性为100,
      

  5.   

    如果是三層結構的話就用 ClientDataSet,设置PacketRecords属性为100,
    如果是兩層結構的話最好就用ADO 分頁顯示了。
      

  6.   

    我现在用的是两层,请问ADO 分頁怎么实现,我在csdn上面没收搜到哦。
    请指教!!
      

  7.   

    用這條語句試一下吧。 Select top 100 From (Select top 變量*100 * From 表名 order by  字段 dsec)
     order by 字段 至於這個順序你自已試一下了。
      

  8.   

    用ClientDataSet,设置PacketRecords属性为100
      

  9.   

    恩。我设置了ClientDataSet的PacketRecords属性为100,可以分批把结果集拉出来,但我想要在dbgrid里面实现分页的功能,怎么实现呢?
      

  10.   

    还有个问题要请教?就是用ClientDataSet的时候,它是一次性把全部结果集查询出来,然后根据PacketRecords的值分批显示,还是逐步把结果集拉出来呢?
    因为我的数据库有100万条记录,所以要考虑到查询速度的问题!!!
      

  11.   

    delphi里有个例子你可以先看看,ClientDataSet有个属性设置,可以控制是一次全部取出还是分次取出
    如果你用ADO的话,你完全可以用
    Select top 100 From (Select top 變量*100 * From 表名 order by  字段 dsec) order by 字段 
    这种写法,DBGRID的显示和你语句里TOP后的个数有关,
      

  12.   

    ClientDataSet有个属性设置,可以控制是一次全部取出还是分次取出?是什么属性呢?找了很久,没有找到呀??
      

  13.   

    我用了ClientDataSet,可以实现一开始显示100条记录,然后每点击一次按钮,dbgrid里面就自动增加下100条记录,但是前面的100条记录还显示在dbgrid里面呀,我要实现每点击一次按钮后,dbgrid只显示下100条记录,前面的数据都不要显示,请问这要怎么实现呢?(就像浏览网页时候,点击下一页就显示相应的下面新的记录)
        有谁可以帮帮我!