经过我的不懈努力,这个分页类终于被我完善完成,以更新为改进版,解决了最后一页的页码问题。经测试基本上无论如何设置每页的记录数,翻页都不会出错。
[此贴子已经被作者于2005-12-10 17:02:32编辑过]
[此贴子已经被作者于2005-12-10 17:02:32编辑过]
的确,代码的确是有精简的余地的。那个函数的作用就是主要控制分页的页码,和页数循环,而且一些算法还是可以精简的。目前这个只能算是简易的分页类,不过改进一下的话就应该可以做出一些复杂的功能。
ADODB.Field 错误 '80020009'
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
/qydq_xb.asp,行 0
不可能呀,我已经改进过了。并经过试验最后一页是不会出错的,虽说算法上还是复杂了一些,但已经经过我的测试没有任何问题。里面的例子程序就是可以用来验证。
如果是网页加参数传参可以用。
oPage.URLStr="admin_UsLevelSeting.asp?Prem=参数1&Prem=参数2&"
的方法改变连接的URL传参数。
如果是SQL语句查询可以用
oPage.SQLStr="select * From Table Where TName='"&Request("Name")&"'"
改变这个字符串就可以改变SQL查询结果。
循环体有两种循环办法
一种使用
我写的那个循环方法,比较简单。
如果这种方法太简单无法满足要求,还可以用第二种直接用rs对象进行循环都可以。
如
Dim nPage
For nPage=0 To rs.PageSize
'这里加上页面记录的循环代码就OK了。
IF rs.EOF Then
rs.MoveNext
End IF
Next
[此贴子已经被作者于2006-4-11 0:12:40编辑过]
回复28楼的
Private Function showNumBtn()
Dim i,str_tmp
For i=1 to int_totalpage
str_tmp=str_tmp & "[<a href=""" & XD_sURL & Cint(i) & """>"&i&"</a>] "
Next
showNumBtn=str_tmp
End Function
28楼的代码中这个部分应该是数字导航部分,
其实28楼的分页代码的ShowPage()编写的不灵活,
把分页代码直接在过程中Response.Write,所以无法控制出现位置。
而我的分页类是把导航部分可以单独提取出来,这样只要在页面初始化代码的下面的任意一个位置都可以用导航功能。
只要在需要的地方调用一下导航方法即可完成,这样做要灵活很多。