分享
 
 
 

ASP通用分页类

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

一、类的属性、方法

这是一个ASP通用分页类。你可以用它方便的给记录集分页,当然在网上有许多的分页类和分页函数。本分页主要有Conn、SQL、URL、FieldList、PageSize、Template、Init、Show、Close等属性和方法。

1.Conn属性 :用来获取一个已创建的Connection对象。

2.SQL属性 :根据传入的SQL语句,自动创建RecordSet对象

3.PageSize属性 :设置第页的记录条数

4.FieldList属性 :如果需要显示库中的数据,一定要设置此属性。它是用来获取需要显示的正确的字段名。

5.URL属性 :设置分页条中链接的文件地址。

6.Template属性 :设置分页文件的模版。

7.Init过程 :分页类初始化数据。

8.Show过程 :显示数据。

9.Close过程 :分页类结束

全部代码由此下载

二、类的源代码(inc_clsPage.asp)

<%

'/************************************************

'* *

'* Name : Asp pagnation class *

'* Author : cjj *

'* Version : V2.8 *

'* Time : 2004-01-16 *

'* Comefrom: http://www.blueidea.com/ *

'* HomePage: None (Maybe Soon) *

'* Notice : You can use and modify it freely, *

'* BUT PLEASE HOLD THIS ITEM. *

'* If you modify it that i hope you *

'* can send a mail for me. *

'* *

'************************************************/

'#########声明变量#########

'定义链接的显示类型

Const SW_intShowChinese = 0 '汉字,如"上一页、下一页"

Const SW_intShowEnglish = 1 '英文,如"Back、Next"

Const SW_intShowCharacter = 2 '特殊字符

'定义数据的显示类型

Const SW_intHorizontalView = 0 '横排

Const SW_intVerticalView = 1 '竖排

'线的显示类型

Const SW_intShowBigBorder = 2 '粗线

Const SW_intShowSmallBorder = 1 '细线

Const SW_intShowNoBorder = 0 '无线

'标题栏线的显示类型

Const SW_intTleSmallBorder = 1 '细线

Const SW_intTleNoBorder = 0 '无线

'显示分页信息的位置

Const SW_intPageInNone = 0 '不显示分页条

Const SW_intPageInTop = 1 '在顶部显示

Const SW_intPageInBottom = 2 '在底部显示

Const SW_intPageInAll = 3 '在顶、底部显示

'显示的页数的数字个数

Const SW_intShowPages = 10

'SWPage Class

Private SW_blnIsHaveRS,SW_strFields,SW_blnInConn,

SW_intShowPagePos,SW_strShowWidth

'#########初始化变量##########

SW_blnIsHaveRS = false '设置记录集获取标志为Fasle,就是无记录集状态

SW_strShowWidth = "90%" '默认的显示宽度为90%

SW_strFields = ""

SW_blnInConn = true '由内部创建Connection,如果设为False则由外部创建

SW_intShowPagePos = SW_intPageInAll

'*****************************************

' 类型: 类

' 目的: 给记录集分页

'*****************************************

Class SWPage

'声明类私有变量

Private SW_objRS,SW_objConn

Private SW_strSQL,SW_strURL,SW_strError,SW_strFormAction,SW_strHeadJS,SW_strFootJS

Private SW_intPageSize,SW_intTleBDType,SW_intShowPageType,SW_intShowType

Private SW_lngTotalPage,SW_lngTotalRecord,SW_lngPageNo

Private SW_aryFldName,SW_aryFldNote,SW_aryFldWidth,SW_aryFldAlign,SW_aryFldLink

Private SW_blnInit,SW_blnOpenRS,SW_blnConn,SW_blnPageSize,SW_blnFieldList,

SW_blnGetURL,SW_blnShowType,SW_blnShowPageType,SW_blnTemplate

'*****************************************

' 类型: 属性

' 目的: 根据获取的信息,创建数据库连接

' 输入: a_strConn:数据类型字符串

' 返回: 无

'*****************************************

Public Property Let Conn(a_strConn)

Dim strError

SW_blnConn = false

Set SW_objConn = CreateObject("Adodb.Connection")

On Error Resume Next

SW_objConn.Open a_strConn

If Err.Number <> 0 Then strError = strError & "<br>创建Connection对象失败"

On Error Goto 0

If Trim(strError)="" Then

SW_blnConn = true

Else

SW_strError = SW_strError & " <tr bgcolor=""#336699"" height=""28""><td><font color=""#FFFFFF"">Conn属性:</font></td></tr>" & vbcrlf

SW_strError = SW_strError & " <tr bgcolor=""#ffffff""><td>"

& strError & "</td></tr>" & vbcrlf

End If

End Property

'*****************************************

' 类型: 属性

' 目的: 设定或显示SQL语句。

' 输入: a_strSQL: SQL语句。

' 返回: SQL语句。

'*****************************************

Public Property Let SQL(a_strSQL)

Dim strError

SW_blnOpenRS = false

SW_strSQL = a_strSQL

'创建RecordSet对象

Set SW_objRS = CreateObject("adodb.RecordSet")

On Error Resume Next

SW_objRS.Open SW_strSQL,SW_objConn,1,1

If Err.Number <> 0 Then strError = "<br>记录集打开失败"

On Error Goto 0

If Trim(strError)="" Then

SW_blnOpenRS = true

Else

SW_strError = SW_strError & " <tr bgcolor=""#336699"" height=""28""><td><font color=""#FFFFFF"">SQL属性:</font></td></tr>" & vbcrlf

SW_strError = SW_strError & " <tr bgcolor=""#ffffff""><td>"

& strError & "</td></tr>" & vbcrlf

End If

End Property

'*****************************************

' 类型: 属性

' 目的: 设置需要显示的数据的字段名

' 输入: a_strFldName:字段名字符串,多个字段之间以逗号分隔

' 返回: 无

'*****************************************

Public Property Let FieldList(a_strFldName)

Dim strError

SW_blnFieldList = false

If Trim(a_strFldName) <> "" Then

SW_aryFldName = Split(LCase(a_strFldName),",")

Else

strError = strError & "<br>你必须设置需要显示的字段名,否则无法显示数据"

End If

If Trim(strError)="" Then

SW_blnFieldList = true

Else

SW_strError = SW_strError & " <tr bgcolor=""#336699"" height=""28""><td><font color=""#FFFFFF"">FieldList属性:</font></td></tr>" & vbcrlf

SW_strError = SW_strError & " <tr bgcolor=""#ffffff""><td>" & strError & "</td></tr>" & vbcrlf

End If

End Property

'*****************************************

' 类型: 属性

' 目的: 设定或显示每页的记录数。

' 输入: a_intPageSize: 每页显示的记录数。

' 返回: 每页显示的记录数。

'*****************************************

Public Property Let PageSize(a_intPageSize)

Dim strError

'PageSize获取失败标志

SW_blnPageSize = false

If Trim(a_intPageSize) = "" OR (Not(IsNumeric(a_intPageSize))) Then

strError = strError & "<br>非法的pagesize"

Else

If (a_intPageSize <= 2147483647 And a_intPageSize>=-2147483648) Then

SW_intPageSize = CLng(a_intPageSize)

Else

strError = strError & "<br>PageSize溢出"

End If

If (SW_intPageSize<=0) Then

strError = strError & "<br>PageSize只能是正整数"

End If

End If

If Trim(strError)="" Then

SW_blnPageSize = True

Else

SW_strError = SW_strError & " <tr bgcolor=""#336699"" height=""28""><td><font color=""#FFFFFF"">PageSize属性:</font></td></tr>" & vbcrlf

SW_strError = SW_strError & " <tr bgcolor=""#ffffff""><td>" & strError & "</td></tr>" & vbcrlf

End If

End Property

'*****************************************

' 类型: 属性

' 目的: 设定分页文件显示模板信息。

' 输入: a_strTemplate: 模板描述。

' 返回: 无。

'*****************************************

Public Property Let Template(a_strTemplate)

Dim aryTemplate,i,j,strError,strTemp,intItem,aryTemp,aryTemp1

SW_blnTemplate = false

aryTemplate = Split(Trim(LCase(a_strTemplate)),"+")

intItem = UBound(aryTemplate)

If intItem < 4 Then strError = "<br>此属性是必选项"

If intItem < 4 Then

'获取文件头

strTemp = TriM(aryTemplate(0))

If strcomp(Left(strTemp,6),"[file=")= 0 Then

SW_strHeadJS = "<script src=""" & Mid(strTemp,7,Len(strTemp)-7) & """></script>"

Else

SW_strHeadJS = Mid(strTemp,7,Len(strTemp)-7)

End If

'获取文件尾

strTemp = Trim(aryTemplate(3))

If strComp(Left(strTemp,6),"[file=") = 0 Then

SW_strFootJS = "<script src=""" & Mid(strTemp,7,Len(strTemp)-7) & """></script>"

Else

SW_strFootJS = Mid(strTemp,7,Len(strTemp)-7)

End If

'获取分页模版

aryTemp = Split(aryTemplate(1),",")

If aryTemp(0) <> "" Then strTemp = Replace(aryTemp(0),"[page=","")

If IsNumeric(strTemp) Then strTemp = CInt(strTemp)

[1] [2] [3] [4] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有