hhasee 发表于 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条纪录,而我只要读取最后一页文件就更好了,不知有没大侠给予指点??

hhasee 发表于 2009-5-20 15:45:48

没人啊,自己先顶个先!

javarike 发表于 2009-5-20 16:27:33

本帖最后由 javarike 于 2009-5-20 16:32 编辑

select top 50 * from table order by id desc

用好的SQL语句就少想那么多问题了

hhasee 发表于 2009-5-21 08:24:47

谢谢javarike的指导,将此句$RS.Open ("Select "&$T & " From " & $tblname )中的 $t="*" 改成$t= "top 50 *"后,可能显示数据库前面的五十条纪录,现在我是想显示后面的啊,能不能再帮帮我?

mamer 发表于 2009-5-21 09:37:20

楼上不给你倒序了吗?

hhasee 发表于 2009-5-21 17:57:01

本帖最后由 hhasee 于 2009-5-21 18:03 编辑

搞定了,是参数没有设好,太谢谢了!
页: [1]
查看完整版本: 如何读取数据库中最后五十条的纪录?