我用的是access数据库,用adoquery把查询的结果在dbgrid显示,由于查询结果较多,需要dbgrid分页显示,点击dbgrid的滚动条提取相应的结果,有没有完美的解决方案?

解决方案 »

  1.   

    用自增id
    select * from 表 where id <= 10 and id >0
    select * from 表 where id <= 20 and id >10
      

  2.   

    楼主所说的完美解决方案是说dbgrid本身带有分页功能吧,不过好像还没有grid有这种功能,目前只能在数据集上做做手脚...
      

  3.   

    用自增id?
    问题是当用鼠标移动dbgrid的滚动条怎么办?id怎么算呢?
      

  4.   

    select top 5 * from tablename where id not in (select top 5 id from tablename)这是查询第二个5条记录用一个按钮,‘下一页’点一下 后面的5就加5
      

  5.   

    用自增id
    select * from 表 where id <= 10 and id >0
    select * from 表 where id <= 20 and id >10完全同意这个笨方法,呵呵,其实我也没有好方法
      

  6.   

    楼主的意思是不是分批从数据库中取数据,免得一次查询太多,等待太久?
    这样的话推荐使用TBDEClientDataSet,只需要设置里面的packetRecord不等于-1,就可以满足你的要求啦
      

  7.   

    用TBDEClientDataSet连接access数据库?那其他的ado控件还能用吗?
      

  8.   

    显示用TBDEClientDataSet,插入和删除用ado控件没有问题啊?这就要看你怎么用了
      

  9.   

    TBDEClientDataSet通过BDE进行连接,ado控件使用ado连接,双方各司其职。想怎么用就怎么用,要举个例子真不知从何说起。要不你说说你要实现什么功能吧,其他ado控件是要来干什么用的?等等,看看能不能给你一点建议
      

  10.   

    通过bde总感觉不太好,而且发布时麻烦。查查资料,有种说法
    adoquery.recordset.pagesize //总页数
    adoquery.recordset.absolutepage //当前页号 
    可以实现,但我试了不行啊