易心asp分页类 v1.0

  易心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

  %>