通用資料分頁類

來源:互聯網
上載者:User
分頁|資料 通用分頁類,以後寫分頁顯示資料時就輕鬆多啦.直接調用此類,然後再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



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。