易心asp分页类 v1.0

时间:2022-02-07 01:25:48

易心asp分页类v1.0 

复制代码代码如下:


<%  
class Ex_SplitPageCls  
'==========================================================================  
'易心asp分页类v1.0  
'作者:易心 QQ:343931221  
'个人网站 www.ex123.net www.bo56.com   
'演示地址:www.ex123.net/show/page  
'转载请保留此信息  
'==========================================================================  
dim Ex_Rs  
dim Ex_columns'要提取的字段  
dim Ex_datafrom'数据表名  
dim Ex_strWhere'记录筛选条件  
dim Ex_order'sql排序  
dim Ex_idcount'记录总数  
dim Ex_pageSize'每页条数  
dim Ex_pageCount'总页数  
dim Ex_ids'获得本页要用到的id  
dim Ex_Sql'构造的sql语句  
dim Ex_page'当前显示页码  
dim Ex_Conn'数据库联接对象  
dim Ex_index'数据库记录当前位置  
dim Ex_id'主键字段  
private sub class_initialize  
set Ex_Rs=server.CreateObject("adodb.recordset")  
Ex_id="id"  
Ex_pageSize=20  
end sub  
private sub class_terminate  
Ex_rs.close  
set Ex_rs=nothing  
end sub  
'属性赋值:  
public property let letConn(str)  
        Ex_conn=str  
end property  
'属性赋值:sql语句 要查询的字段 带select  
public property let letColumns(str)  
        Ex_Columns=str  
end property  
'属性赋值:sql语句筛选条件部分 带where  
public property let letWhere(str)  
        Ex_strWhere=str  
end property  
'属性赋值:sql语句数据表 带from  
public property let letDataFrom(str)  
        Ex_dataFrom=str  
end property  
'属性赋值:sql语句排序部分 带order by  
public property let letOrder(str)  
        Ex_order=str  
end property  
'属性赋值:每页记录数  
public property let letPageSize(str)  
        Ex_pageSize=str  
end property  
'属性赋值:当前页数  
public property let letPage(str)  
        Ex_page=str  
end property  
'属性赋值:主表主键字段  
public property let letId(str)  
        Ex_Id=str  
end property  
'属性:获得记录总数  
public property get getRsCount  
        getRsCount=Ex_idCount  
end property  
'属性:获得页总数  
public property get getPageCount  
if(Ex_idcount>0) then'如果记录总数=0,则不处理  
        if(Ex_idcount mod Ex_pageSize=0)then'如果记录总数除以每页条数有余数,则=记录总数/每页条数+1  
                  Ex_pageCount=int(Ex_idcount/Ex_pageSize)'获取总页数  
        else  
                  Ex_pagecount=int(Ex_idcount/Ex_pageSize)+1'获取总页数  
        end if  
        getPageCount=Ex_pagecount  
else  
        getPageCount=0  
end if  
end property  
'属性:获得当前页数  
public property get getPage  
        getPage=Ex_Page  
end property  
'获得本页要用到的id  
private sub ids  
        dim i  
        Ex_sql="select "&Ex_Id&" "& Ex_datafrom &" " &" "&Ex_strWhere&" "&Ex_order  
        Ex_rs.open Ex_sql,Ex_conn,1,1  
        if not Ex_Rs.eof and not Ex_Rs.bof then  
                Ex_rs.pagesize =Ex_pageSize '每页显示记录数  
                Ex_Rs.absolutepage=CInt(Ex_Page)  
                Ex_idcount=Ex_rs.recordcount  
            if Ex_page < 1 then Ex_page = 1  
            if Ex_page > Ex_pagecount then Ex_page = Ex_pageCount  
            if Ex_pageCount > 0 then Ex_rs.absolutepage =Ex_page    
                for i=1 to Ex_rs.pagesize  
                if Ex_rs.eof then exit for    
                          if(i=1)then  
                           Ex_Ids=Ex_rs("id")  
                  else  
                           Ex_Ids=Ex_Ids &","&Ex_rs("id")  
                  end if  
                Ex_rs.movenext  
                next  
        end if  
        Ex_Rs.close  
end sub  
'返回本页要用到的记录集  
public function execute  
        ids  
        Ex_Sql=Ex_Columns&" "&Ex_dataFrom&" "&Ex_strWhere&" and id in("&Ex_ids&") "&Ex_order  
        Ex_Rs.open Ex_Sql,Ex_conn,1,1  
        Set execute=Ex_Rs  
end function  
end class  
%>