找回密码
 加入
搜索
查看: 1125|回复: 5

如何读取数据库中最后五十条的纪录?

[复制链接]
发表于 2009-5-19 08:06:05 | 显示全部楼层 |阅读模式
本帖最后由 hhasee 于 2009-5-21 18:03 编辑

各位大侠我使用以下代码读取数据库中的文件时是显示数据库中所有的录数,而当库中的文件上万条时则会有读取较慢的情况,不知有没有方法只读数据库中的最后五十条纪录?
GUICtrlSendMsg($ListView1, $LVM_DELETEALLITEMS, 0, 0)
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &$mdb_data_path)
$RS =ObjCreate("ADODB.Recordset")
$RS.ActiveConnection = $addfld
$RS.Open ("Select "&$T & " From " & $tblname )
while Not $RS.eof And Not $RS.bof
if @error =1 Then ExitLoop
GUICtrlCreateListViewItem ( $RS.Fields (0).value&"|"& $RS.Fields (1).value&"|"& $RS.Fields (2).value&"|"& $RS.Fields (3).value&"|"& $RS.Fields (4).value,$ListView1 )
$rs.movenext
WEnd
$rs.close
$addfld.Close

若是能将整个库文件以分页的形式,每页是50条纪录,而我只要读取最后一页文件就更好了,不知有没大侠给予指点??
 楼主| 发表于 2009-5-20 15:45:48 | 显示全部楼层
没人啊,自己先顶个先!
发表于 2009-5-20 16:27:33 | 显示全部楼层
本帖最后由 javarike 于 2009-5-20 16:32 编辑

select top 50 * from table order by id desc

用好的SQL语句就少想那么多问题了
 楼主| 发表于 2009-5-21 08:24:47 | 显示全部楼层
谢谢javarike的指导,将此句$RS.Open ("Select "&$T & " From " & $tblname )  中的 $t="*" 改成$t= "top 50 *"后,可能显示数据库前面的五十条纪录,现在我是想显示后面的啊,能不能再帮帮我?
发表于 2009-5-21 09:37:20 | 显示全部楼层
楼上不给你倒序了吗?
 楼主| 发表于 2009-5-21 17:57:01 | 显示全部楼层
本帖最后由 hhasee 于 2009-5-21 18:03 编辑

搞定了,是参数没有设好,太谢谢了!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-10 12:25 , Processed in 0.074391 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表