网学网网络知识编辑为广大网友搜集整理了:关于叶子ASP分页类Bug两种修复方法绩等信息,祝愿广大网友取得需要的信息,参考学习。
废话不多说,直接进入主题:
叶子分页类v1.2中,190行:
源码:
''此处是为了修正access记录多并且最后一页只有一条记录则报Eof的bug,坏处就是最后一页会显示2条=___=
If iPageIndex > 1 And iPageIndex = iPageCount And (iRecordCount Mod iPageSize = 1) Then
Rs.AbsolutePosition = (iPageIndex - 1) * iPageSize
Else
Rs.AbsolutePosition = (iPageIndex - 1) * iPageSize + 1
End If
此处叶子本人虽进行了修改,但还是有小小的遗憾,当最后页只有1条记录时,在显示的时候会显示为两条。
修改:
方法一:使用静态游标(即oConn,1,1改为oConn,3,1)
Set Rs = Server.CreateObject ("Adodb.RecordSet")
Rs.Open "SELECT " & sField & " FROM " & sTable & " " & sCondition & " " & sOrderBy,oConn,3,1,&H0001
''此处是为了修正access记录多并且最后一页只有一条记录则报Eof的bug,坏处就是最后一页会显示2条=___=
Rs.AbsolutePosition = (iPageIndex - 1) * iPageSize + 1
方法二:
Set Rs = Server.CreateObject ("Adodb.RecordSet")
Rs.Open "SELECT " & sField & " FROM " & sTable & " " & sCondition & " " & sOrderBy,oConn,1,1,&H0001
''此处是为了修正access记录多并且最后一页只有一条记录则报Eof的bug,坏处就是最后一页会显示2条=___=
If iPageIndex >1 and iPageIndex = iPageCount Then
Rs.Move (iPageIndex-1) * Clng(iPageSize)
End If
Rs.AbsolutePosition = (iPageIndex - 1) * iPageSize + 1
按以上方法修改后,一切正常。
作者:HHYY,2012-3-11,QQ:442398600,Email:yywfte999@qq.com。