一、创建分页类的目标 L-k@-)98
在写之前,我曾想过,我究竟要写怎么样一个类,回想起以前写分页过程的时候,最烦的莫过于每次都要写哪一段复杂的分页代码,最大的烦恼每次都是仅仅几个变量名的不同。所以第一个要实现的就是要把这个封装起来,第二个就是要把分页的导航条也封装起来,第三个,不习惯哪些把数据显示部分也封装起来的方法,这不是方便编程,对与哪些对显示效果每次都不同的用户来说,比自己写分页还要麻烦。所以我的目地就是对RecordSet进行一些简单的封装。 >M/V oV
ZXuv CI
二、创建过程 %GS(:]{n
所以我写的第一个属性,就是返一个经过处理的RecordSe XUlS\CH@{
Uh):b%bS;J
HI11Jl}{
Public Property Get GetRs() KW^7H
Set XD_Rs=Server.createobject(adodb.recordset) SrK) t.oK
XD_Rs.PageSize=PageSize p ObX42
XD_Rs.Open XD_SQL,XD_Conn,1,1 9B7^lR
If not(XD_Rs.eof and XD_RS.BOF) Then ]@Uq=?%
If int_curpage>XD_RS.PageCount Then <U\B!fO'
int_curpage=XD_RS.PageCount ~S7D>D3S
End If p$3sME$L
XD_Rs.AbsolutePage=int_curpage
ftF@Wq1f
End If uvG]1m#
Set GetRs=XD_RS 7w6cwHrL@
End Property F ;2w1S^
u2?|Ue@[
Y*vW!yu
这个属性的作用是更据指定RecordSet 的当前面,并到指针指向当前页的第一条记录,这个应该就是整个类的完成分页的核心了,当然,其中的一些参数是靠其它的属性来获取,所以这里顺便介绍一个这个类所要的基本参数 #a8B/-
57&b:0`p
aN8|J?JH
============================================= N<-gI9_
GetConn 得到数据库连接 q;][5
L$E{ycn
============================================= Z
Z:}AQ
Public Property Let GetConn(obj_Conn) J.xPv)1'
Set XD_Conn=obj_Conn |* ;B
End Property ?I~()]k5
6U R2IxbE
============================================= m1Mt#@,$
GetSQL 得到查询语句 @3C>BLI8+
u*ObwcI/Bn
============================================== zIu
E9l
Public Property Let GetSQL(str_sql) Z*= $8e@
XD_SQL=str_sql 9E>|=d|(d
End Property zZ` _D|<m
~U@;gLoD
=============================================== n4R(.N00
PageSize 属性 io-![^{
设置每一页的分页大小 LH8 fBhw
=============================================== J2xw) +
Public Property Let PageSize(int_PageSize) ~ijVmWNk
If IsNumeric(Int_Pagesize) Then B=^)Ub5'
XD_PageSize=CLng(int_PageSize) ov_j4j>6P
Else [8=vv7wS
str_error=str_error & PageSize的参数不正确 ? -dX`n
ShowError() 6&