亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

asp的通用數據分頁類

2024-05-04 11:05:28
字體:
來源:轉載
供稿:網友

一般的ASP分頁類代碼,都是用這個方法進行操作的,似乎更靈活ASP分頁代碼,其實數據分頁部分被封裝,數據顯示部分完全由用戶定義,那么asp的通用數據分頁類大家知道嗎?一起進入下文了解吧!

?(原創)<!--#include?file="Conn.asp"?-->
通用數據分頁類
????通用分頁類,以后寫分頁顯示數據時就輕松多啦.直接調用此類,然后再Execute即可以取得當前頁的所有數據.
????此類所做的工作是只取得當前頁的數據,和總頁數和總記錄數等等數據.

ASP代碼:
<%
'/*****************************分頁顯示類**************************
'/*?作者:哇哇魚
'/*?日期:2004年11月18日
'/*?作用:取得某一頁的數據并返回給外部
'/*?說明示例:
'/*?Dim?MyPage=New?PageClass
'/*?MyPage.Conn=Conn????????????????'設置連接對象
'/*?MyPage.PageSize=20?????????????????'設置一頁顯示多少條數據?(默認為10條)
'/*?MyPage.CurPage=2???????????????????'設置當前要顯示的頁碼
'/*''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'/*?MyPage.TableName="Member"???????'設置表名
'/*?MyPage.Fields="ID,MemberName,MemberPass"???'設置顯示字段列表
'/*?MyPage.Condition="ID>100"??????????'設置查詢條件
'/*?MyPage.OrderBy="ID?DESC"???????????'設置排序條件(一定要設置該屬性)
'/*?Set?PageRs=MyPage.Execute??????????'返回當前第2頁的數據(RecordSet對象),如果出錯則返回Nothing值
'/*''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'/*'以上的定義也可以用以下的方法:ExecuteBy("表名","字段列表","查詢條件","排序條件")
'/*?Set?PageRs=MyPage.ExecuteBy("Member","ID,MemberName,MemberPass","ID>100","ID?DESC")
'/*''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'/*?PageCount=MyPage.PageCount?????????'返回頁碼總數
'/*?RecordCount=MyPage.RecordCount?????'返回記錄總數
'/*?NextPage=MyPage.NextPage???????????'返回下頁的頁碼
'/*?PrePage=MyPage.PrePage?????????????'返回上一頁的頁碼
'/*****************************************************************
Class?PageClass
????Private?Connection???????????????'連接數據庫的外部Connection對象
????Private?Rs
????Private?List_Fields
????Private?Table_Name
????Private?Query_Where
????Private?OrderBy_SQL??????????????'字段排序語句部分
????Private?Page_Count???????????????'返回當前查詢的記錄頁總數
????Private?Page_Size????????????????'設置一頁顯示多少條的記錄
????Private?Cur_Page?????????????????'設置當前的頁碼
????Private?Record_Count?????????????'返回當前查詢的記錄總數

????'/****************設置Connection對象****************************
????Public?Property?Let?Conn(ByRef?ObjConn)
????????Set?Connection=ObjConn
????End?Property
????Public?Property?Get?Conn()
????????Set?Conn=Connection
????End?Property
????'/****************End******************************************

????'/****************設置查詢SQL語句*******************************
????''查詢顯示字段
????Public?Property?Let?Fields(ByVal?Value)
????????List_Fields=Value
????End?Property
????Public?Property?Get?Fields()
????????Fields=List_Fields
????End?Property
????''查詢表名
????Public?Property?Let?TableName(ByVal?Value)
????????Table_Name=Value
????End?Property
????Public?Property?Get?TableName()
????????TableName=Table_Name
????End?Property
????''查詢條件
????Public?Property?Let?Condition(ByVal?Value)
????????Query_Where=Value
????End?Property
????Public?Property?Get?Condition()
????????Condition=Query_Where
????End?Property
????''*****************排序部分********************************************
????''Value?語不用寫上Order?By?。如:?[object].OrderBy="ID?Desc,PostTime?Asc"
????Public?Property?Let?OrderBy(ByVal?Value)
????????OrderBy_SQL=Value
????End?Property
????Public?Property?Get?OrderBy()
????????OrderBy=OrderBy_SQL
????End?Property
????'/****************End******************************************

????'/****************返回當前查詢結果的總頁數***********************
????Public?Property?Get?PageCount()
????????PageCount=Page_Count
????End?Property
????Public?Property?Get?RecordCount()
????????RecordCount=Record_Count
????End?Property
????Public?Property?Get?NextPage()
????????If?Cur_Page<Page_Count?Then
????????????NextPage=Cur_Page+1
????????Else
????????????NextPage=Page_Count
????????End?If
????End?Property
????Public?Property?Get?PrePage()
????????If?Cur_Page>1?Then
????????????PrePage=Cur_Page-1
????????Else
????????????PrePage=Cur_Page
????????End?If
????End?Property
????'/****************End******************************************

????'/****************設置一頁顯示的記錄數***************************
????Public?Property?Let?PageSize(ByVal?Value)
????????If?Not?IsNumeric(Value)?Or?Value=""?Then
????????????Value=10
????????Else
????????????Value=Cint(Value)
????????End?If
????????If?Value<1?Then?Value=10
????????Page_Size=Value
????End?Property
????Public?Property?Get?PageSize()
????????PageSize=Page_Size
????End?Property
????''設置當前的頁碼數**************************
????Public?Property?Let?Page(ByVal?Value)
????????If?Not?IsNumeric(Value)?Or?Value=""?Then
????????????Value=1
????????Else
????????????Value=CLng(Value)
????????End?If
????????If?Value<1?Then?Value=1
????????Cur_Page=Value
????End?Property
????Public?Property?Get?Page()
????????Page=Cur_Page
????End?Property
????'/****************End******************************************

????Private?Sub?Class_Initialize
????'初始化RecordSet對象
????????Page_Size=10????????????'默認一頁為10條數據
????????CurPage=1???????????????????'默認當前為第一頁
????????Record_Count=0
????????Page_Count=0
????End?Sub

????Private?Sub?Class_Terminate
????????Call?CloseRecordSet
????End?Sub

????'/***關閉數據庫的連接*******
????Private?Sub?CloseRecordSet
????????On?Error?Resume?Next
????????If?IsObject(Rs)?Then
????????????Rs.Close
????????????Set?Rs=Nothing
????????End?If
????????On?Error?Goto?0
????End?Sub

????'/**********執行查詢返回對應頁碼的數據***********************************************
????Public?Function?ExecuteBy(ByVal?oTableName,ByVal?oFields,ByVal?oCondition,ByVal?oOrderBy)
????????Table_Name=oTableName
????????List_Fields=oFields
????????Query_Where=oCondtion
????????OrderBy_SQL=oOrderBy
????????Set?ExecuteBy=Execute()
????End?Function
????'查詢并返回當前CurPage的頁碼記錄
????Public?Function?Execute()
????????Call?CloseRecordSet
????????On?Error?Resume?Next
????????Dim?TSQL,TopMod,sWhere
????????If?Not?IsObject(Connection)?Or?Table_Name=""?Or?OrderBy_SQL=""?Then
????????????Set?Execute=Nothing
????????????Record_Count=0
????????????Page_Count=0
????????????Exit?Function
????????End?If
????????If?Trim(Query_Where)<>""?Then?
????????????sWhere="Where?"&Query_Where
????????Else
????????????sWhere=""
????????End?If
????????TSQL="Select?Count(*)?From?["&Table_Name&"]?"&sWhere
????????Record_Count=Connection.Execute(TSQL)(0)????'獲取記錄總數
????????If?Err?Then
????????????Err.Clear
????????????Set?Execute=Nothing
????????????Record_Count=0
????????????Page_Count=0
????????????Exit?Function
????????End?If
????????If?Record_Count<1?Then
????????????Set?Execute=Nothing
????????????Record_Count=0
????????????Page_Count=0
????????????Exit?Function
????????End?If
????????'取得頁的總數
????????If?Record_Count?Mod?Page_Size?<>0?Then
????????????TopMod=Record_Count?Mod?Page_Size
????????????Page_Count=Fix(Record_Count/Page_Size)+1
????????????If?Cur_Page<Page_Count?Then
????????????????TopMod=Page_Size
????????????End?If
????????Else
????????????TopMod=Page_Size
????????????Page_Count=Fix(Record_Count/Page_Size)
????????End?If
????????If?Cur_Page>Page_Count?Then?Cur_Page=Page_Count
????????If?Cur_Page<1?Then?Cur_Page=1
????????If?Trim(List_Fields)=""?Then?List_Fields="*"
????????TSQL="Select?*?From?(Select?Top?"&TopMod&"?*?From?(Select?Top?"&(Cur_Page*Page_Size)&"?"&List_Fields&"?From?["&Table_Name&"]?"&sWhere&"?Order?By?"&OrderBy_SQL&")?Order?By?"&TransformOrder(OrderBy_SQL)&")Order?By?"&OrderBy_SQL
????????Set?Rs=Connection.Execute(TSQL)
????????If?Err?Then
????????????Err.Clear
????????????Set?Execute=Nothing
????????????Record_Count=0
????????????Page_Count=0
????????????Exit?Function
????????End?If
????????Set?Execute=Rs
????End?Function

????'轉換OrderBy的順序?ASC->DESC???DESC->ASC
????Private?Function?TransformOrder(ByVal?Value)
????????If?Value=""?Then
????????????TransformOrder=""
????????????Exit?Function
????????End?If
????????Dim?OrderArray,i,Result,ByString,Fields,InPos
????????OrderArray=Split(Value,",")???'分解每個字段值
????????For?i=0?To?Ubound(OrderArray)
????????????If?OrderArray(i)<>""?Then
????????????????InPos=InStrRev(Trim(OrderArray(i)),"?")??'找出排序的順序
????????????????If?InPos<1?Then??'如果找不到則是ASC排序
????????????????????ByString="ASC"
????????????????????Fields=OrderArray(i)+"?"
????????????????Else
????????????????????ByString=Trim(Mid(OrderArray(i),InPos+1))
????????????????????Fields=Left(OrderArray(i),InPos)
????????????????????If?ByString<>""?Then
????????????????????????ByString=UCase(ByString)
????????????????????Else
????????????????????????ByString="ASC"
????????????????????End?If
????????????????End?If
????????????????''轉換排序
????????????????If?ByString="ASC"?Then
????????????????????ByString="DESC"
????????????????Else
????????????????????ByString="ASC"
????????????????End?If
????????????????Result=Result+Fields+ByString+","
????????????End?If
????????Next
????????If?Result<>""?Then?Result=Left(Result,Len(Result)-1)
????????TransformOrder=Result
????End?Function
End?Class


'示例代碼:
Sub?Show_List
????Dim?Page,PageRs
????Page=Request("Page")
????Dim?MyPage
????Set?MyPage=New?PageClass
????MyPage.Conn=Conn
????MyPage.PageSize=20
????MyPage.Page=Page
????MyPage.TableName="table1"
????MyPage.Fields="*"
????MyPage.OrderBy="ID?Asc"
????Set?PageRs=MyPage.Execute
????'Set?PageRs=MyPage.ExecuteBy("table1","*","","ID?Asc")
????If?PageRs?Is?Nothing?Then?Exit?Sub
????Do?Until?PageRs.Eof
????????Response.Write?"?<tr?bgcolor=""#FDFDFD""?style=""cursor:hand""?onmouseover=""this.style.background='#F3F3F3'""?onmouseout=""this.style.background='#FDFDFD'"">"
????????Response.Write?"????<td?height=""20""><div?align=""center"">"&PageRs("ID")&"</div></td>"
????????Response.Write?"????<td>"&PageRs("aaaa")&"</td>"
????????Response.Write?"????<td><a?href="""&PageRs("bbbb")&"""><font?color='#000000'>"&PageRs("bbbb")&"</font></a></td>"
????????Response.Write?"????<td>"&PageRs("cccc")&"</td>"
????????Response.Write?"??</tr>"
????????PageRs.MoveNext
????Loop
????PageRs.Close
????PageCount=MyPage.PageCount
????Page=MyPage.Page????????????'取得當前正確的頁碼數
????NextPage=MyPage.NextPage
????PrePage=MyPage.PrePage
????Set?PageRs=Nothing
????Set?MyPage=Nothing
End?Sub
Show_List
%>?
  不知道大家在看完了上面的這些介紹有沒有對asp的通用數據分頁類有了了解,其實,只要大家能夠稍微的深入了解一下,就能夠很輕松的了解這些不同的操作方法了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲91精品在线| 欧美大片免费观看| 日韩欧美在线一区| 欧美日韩中文字幕综合视频| 国模视频一区二区三区| 欧美人在线观看| 91夜夜未满十八勿入爽爽影院| 国产精品免费观看在线| 亚洲乱亚洲乱妇无码| 久久久www成人免费精品| 久久久精品中文字幕| 亚洲xxx自由成熟| 国产日韩在线看片| 亚洲精品国产欧美| 国产成人精品av| 国产成人综合一区二区三区| 国产亚洲精品久久久久动| 日韩亚洲欧美中文高清在线| 少妇av一区二区三区| 亚洲第一区第二区| 国产免费亚洲高清| 国产成人综合精品在线| 色在人av网站天堂精品| 欧美韩国理论所午夜片917电影| 国产成人高清激情视频在线观看| 久久99热精品| 亚洲成人动漫在线播放| 日韩欧美在线视频日韩欧美在线视频| 日韩精品久久久久久久玫瑰园| 日韩av在线不卡| 欧美一级高清免费播放| 91免费精品国偷自产在线| 国产精品第1页| 菠萝蜜影院一区二区免费| 亚洲欧洲av一区二区| 国外成人在线直播| 97免费中文视频在线观看| 尤物yw午夜国产精品视频明星| 国产成人精品日本亚洲专区61| 日本三级韩国三级久久| 久久免费视频在线观看| 亚洲图片在线综合| 色一情一乱一区二区| 亚洲美女又黄又爽在线观看| 久久91亚洲人成电影网站| 亚洲精品久久久久久久久久久| 日本久久久久久久久久久| 亚洲国产精品电影| 日本一区二区在线播放| 欧美一区在线直播| 国产日本欧美在线观看| 国产精品视频最多的网站| 日韩欧美国产黄色| 97婷婷涩涩精品一区| 欧美性开放视频| 另类色图亚洲色图| 日本一区二区三区四区视频| 最新国产成人av网站网址麻豆| 欧美大片免费观看| 日本精品一区二区三区在线播放视频| 91色琪琪电影亚洲精品久久| 日韩中文av在线| 在线亚洲男人天堂| 亚洲第一区在线| 精品欧美国产一区二区三区| 亚洲欧美精品伊人久久| 亚洲精品一区在线观看香蕉| 超碰91人人草人人干| 午夜精品一区二区三区在线| 亚洲激情视频在线播放| 亚洲精品动漫久久久久| 91精品在线国产| 日韩小视频在线观看| 国产精品视频精品| 91国产视频在线| 久久久噜噜噜久久中文字免| 欧美精品18videos性欧| 国产v综合ⅴ日韩v欧美大片| 亚洲欧美日韩精品久久亚洲区| 亚洲国产精品999| 91po在线观看91精品国产性色| 日韩中文理论片| 欧美日韩亚洲高清| 久久久亚洲国产天美传媒修理工| 久久久中精品2020中文| 中文字幕精品www乱入免费视频| 高清欧美性猛交| 欧美中文字幕在线视频| 色狠狠久久aa北条麻妃| 国产欧美一区二区三区视频| 中文字幕亚洲一区二区三区| 亚洲一区亚洲二区亚洲三区| 国产精品香蕉国产| 最近2019中文字幕第三页视频| 亚洲精品一区中文| 亚洲精品国产精品久久清纯直播| 另类美女黄大片| 国产精品免费电影| 国产欧亚日韩视频| 亚洲女在线观看| 欧美日韩在线第一页| 日本免费在线精品| 国产精品久久久久久久天堂| 日本国产精品视频| 久久久av一区| 久久久精品久久久久| 久久精品国产清自在天天线| 久久人人爽人人爽人人片av高清| 欧美性20hd另类| 亚洲嫩模很污视频| 久久久国产一区二区| 亚洲黄色av网站| 久久久中精品2020中文| 欧美日韩国产成人高清视频| 91午夜在线播放| 国产成人精品免费视频| 美女福利视频一区| www.日韩欧美| 国产精品一区二区性色av| 亚洲精品国产精品自产a区红杏吧| 欧美在线播放视频| 91麻豆国产精品| 最新日韩中文字幕| 欧美xxxx做受欧美.88| 国产精品久久久久久久av大片| 最近2019中文字幕mv免费看| 精品久久久久久久久中文字幕| 国产小视频91| 久久久精品一区二区三区| 国产成人涩涩涩视频在线观看| 国产日韩欧美在线| 成人欧美一区二区三区在线湿哒哒| 日韩精品视频在线| 成人做爰www免费看视频网站| 狠狠综合久久av一区二区小说| 久久精品夜夜夜夜夜久久| 亚洲一区二区在线播放| 91av在线播放| 国产精品扒开腿做| 亚洲香蕉在线观看| 午夜精品久久久99热福利| 亚洲一区二区免费在线| 欧美激情区在线播放| 欧美高跟鞋交xxxxhd| 国a精品视频大全| 色综合视频一区中文字幕| 亚洲男人的天堂在线播放| 国产成人精品免费久久久久| 欧美激情在线观看视频| 亚洲精选一区二区| 人人做人人澡人人爽欧美| 69av成年福利视频| 精品视频在线导航| 国产精品欧美激情| 黄色一区二区三区| 热99久久精品| 亚洲国产精品久久| 久久99久久久久久久噜噜| 91精品国产综合久久男男| 欧美激情一级精品国产| 国产精品一香蕉国产线看观看| 91亚洲人电影| 欧美精品videosex极品1| 日韩欧美大尺度|