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
通用數據分頁類
通用分頁類,以后寫分頁顯示數據時就輕松多啦.直接調用此類,然后再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