如何分页显示数据?(50分)

  • 主题发起人 主题发起人 斑点狗
  • 开始时间 开始时间

斑点狗

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个数据库有上万条记录,我想用ADOQuery1分页显示比如一次显示100条,
可以用select top 100 * from Table1
可是要显示101 到200的数据如何显示?请指教。
 


建立一个id字段

 
可以看一下李维的ado的书,讲得很详细.
 
那就top 200,然后跳过100条
只能如此
 
在ADO的SQl中用select * from Table1,然后设置AdoQuery的maxrecords的值为100,这样每次
只读100条记录过来。
 
对某一数据(如:ID)进行排序然后以它为条件进行选(where id>上次的ID)
当然还要设置AdoQuery的maxrecords
 
关注此问题!
up!
你解决了吗?
 
这问题讨论过多次,似乎都没有很好的解决办法
TAdoQuery本身提供分页显示的功能,但它好象是一次把数据读取下来(不知道是否我弄错)
然后再分批显示(但已经从很大程度上提高了速度了)
 
没错。。ADO是一次把记录全部就提下来了。。。
而BDE不是的这就是为什么有的人测试查询速度BDE比ADO快。。。。
 
萧兄说的没错。即便用了李维说的方法还是全部打开后再分页的。速度吗,能快点。
这种方法虽不好,可只能这么办了。用DBGrid有BUG。
分分吧。谢谢大家!
 
可以的,但是每次顯示時與上次未必一致,而且分頁的最后一頁與倒數第二頁可能有覆蓋重疊
因為我的方法顯示每一頁時都會重新query,要不要我貼一貼,雖然簡單,我也是花了二個小時
才做出來的

從速度上講,在數據庫服務器端有可能要打開較多(與你請求的頁次號有關)或全部記錄,但肯
定的是,在傳輸中與client端,只有實際的條數(100條)

我已經在sqlserver與access中測試通過
 
后退
顶部