当前位置:asp编程网>技术教程>Asp教程>  正文

叶子ASP分页类Bug两种修复方法

2012-04-17 10:09:42   来源:网络    作者:佚名   浏览量:2084   收藏
叶子asp分页类是效率十分好一个分页类,但在最后的0.12版中还存在微小的bug,本文作者提供了两种修复方法供大家参考。
叶子分页类v1.2中(下载地址:http://www.aspbc.com/code/showcode.asp?id=183),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
(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)

方法一:使用静态游标(即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
(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)

上面的两种方法,选择任何一种都可以


关于我们-广告合作-联系我们-积分规则-网站地图

Copyright(C)2013-2017版权所属asp编程网