一、创建分页类的目标 V^[o{'+
在写之前,我曾想过,我究竟要写怎么样一个类,回想起以前写分页过程的时候,最烦的莫过于每次都要写哪一段复杂的分页代码,最大的烦恼每次都是仅仅几个变量名的不同。所以第一个要实现的就是要把这个封装起来,第二个就是要把分页的导航条也封装起来,第三个,不习惯哪些把数据显示部分也封装起来的方法,这不是方便编程,对与哪些对显示效果每次都不同的用户来说,比自己写分页还要麻烦。所以我的目地就是对RecordSet进行一些简单的封装。 m\RU|Z
s7[du_)
二、创建过程 GG-7YJ
所以我写的第一个属性,就是返一个经过处理的RecordSe Ru`&>E
u?i_N0H
/0IvvD!7N
Public Property Get GetRs() 7E6gXf.
Set XD_Rs=Server.createobject(adodb.recordset) x=(Q$Hl5
XD_Rs.PageSize=PageSize 'gI q_t|^
XD_Rs.Open XD_SQL,XD_Conn,1,1 oSq4g{xvMH
If not(XD_Rs.eof and XD_RS.BOF) Then J4&d6[40
If int_curpage>XD_RS.PageCount Then sA[hG*#/S
int_curpage=XD_RS.PageCount N*y09?/h
End If R5(<:]
XD_Rs.AbsolutePage=int_curpage q,(U 8
End If mr&nB
Set GetRs=XD_RS [> Q+=(l
End Property u1R_u9
x\T 9V~8a
jhl9
这个属性的作用是更据指定RecordSet 的当前面,并到指针指向当前页的第一条记录,这个应该就是整个类的完成分页的核心了,当然,其中的一些参数是靠其它的属性来获取,所以这里顺便介绍一个这个类所要的基本参数 iv*`.9TK-
]c4?-Vq%u
Dk[m)]w\
============================================= 9!&fak_
GetConn 得到数据库连接 @i U@JE`C
pUi|&F K">
============================================= p~Di\AQ/
Public Property Let GetConn(obj_Conn) `f?v_Ui-$
Set XD_Conn=obj_Conn }8`W%_Yk
End Property I?r7dQEm
>$Sc}a3
============================================= O/
Yz6VQ
GetSQL 得到查询语句 TrD2:N}dI
Myaj81
============================================== o_R<7o/d|
Public Property Let GetSQL(str_sql) 'RZ=A+% X
XD_SQL=str_sql 3c#oK
End Property >zx]%
W
R9bsl.e
=============================================== dnRbt{`jP
PageSize 属性 HGM ?
?=
设置每一页的分页大小 sxc^n
aK0
=============================================== ;r'y/Y'?
Public Property Let PageSize(int_PageSize) E0?R,+>&4
If IsNumeric(Int_Pagesize) Then 6:_@ ;/03%
XD_PageSize=CLng(int_PageSize) IdTatE|^
Else qmQ}
str_error=str_error & PageSize的参数不正确 vMG >Xb
ShowError() %c:v70*h=
End If [&y