分享

asp分页通用类

 星爷 2006-04-26
 
 

<%
class cls_page
 private spageindex
 private spagesize
 private stblname
 private sfldname
 private sordertype
 private sstrwhere
 private sstrurl
 private srs
 private sconn
 private stotal
 private stotalpage
 
 public property let pageindex(value)‘当前页数
  spageindex=value
 end property
 
 public property let pagesize(value)‘每页记录数
  spagesize=value
 end property
 
 public property let tablename(value)‘表名
  stblname=value
 end property
 
 public property let fieldname(value) ‘排序字段名
  sfldname=value
 end property
 
 public property let ordertype(value)‘排序方式
  sordertype=value
 end property

 public property let strwhere(value)‘sql参数
  sstrwhere=value
 end property
 
 public property let strurl(value)‘分页参数
  sstrurl=value
 end property
 
 public property let strconn(value)‘连接字符串
  set sconn=value
 end property
 
 public property get pagesize
  pagesize=spagesize
 end property
 
 Private Sub Class_Initialize
  spagesize=10
 end sub
 
 Private Sub Class_Terminate
 end sub
 
 private Function GetPageSql()‘获得sql
  Dim StrTemp,StrSql,StrOrder
  If sOrderType = 0 Then
          StrTemp = "> (Select Max([" & sFldName & "])"
          StrOrder = " Order By [" & sFldName & "] Asc"
     Else
         StrTemp = "< (Select Min([" & sFldName & "])"
         StrOrder = " Order By [" & sFldName & "] Desc"
     End If
  
     If sPageIndex = 1 Then
         StrTemp = ""
          If sStrWhere <> "" Then
              Strtmp = " Where " & StrWhere
          End If
         StrSql = "Select Top " & sPageSize & " * From [" & sTblName & "]" & Strtmp & StrOrder
     Else
         StrSql = "Select Top " & sPageSize & " * From [" & sTblName & "] Where [" & sFldName & "]" & StrTemp & _
         " From (Select Top " & (sPageIndex-1) * sPageSize & " [" & sFldName & "] From [" & sTblName & "]"
         If sStrWhere <> "" Then
             StrSql = StrSql & " Where " & sStrWhere
         End If
         StrSql = StrSql & StrOrder & ") As Tbltemp)"
         If sStrWhere <> "" Then
             StrSql = StrSql & " And " & sStrWhere
         End If
         StrSql = StrSql & StrOrder
     End If
     GetPageSql = StrSql
 End Function
 
 public property get getrs()‘获得rs
  set srs=server.CreateObject("adodb.recordset")
  srs.open GetPageSql,sconn,1,1
  set getrs=srs
 end property
 
 public sub listbar()‘分页导航条
  sql="select * from "&stblname&""
  set rs=server.CreateObject("adodb.recordset")
  rs.open sql,sconn,1,3
  total=rs.recordcount
  totalpage=rs.pagecount
  rs.close
  set rs=nothing
  response.Write("共有纪录 <font color=red><b>"&total&"</b></font> 条 ")
        response.Write("记录共 <font color=red><b>"&totalpage&"</b></font> 页 ")
        response.Write("当前为第 <font color=red><b>"&spageindex&"</b></font>/"&totalpage&" 页 ")
  If totalpage=1 Then
         Response.write "·共有1页·"
     End If
     If Not spageindex=1 Then
         Response.write "<a href=?page=1&"&sstrurl&">首页</a>  "
         Response.write "<a href=?page="&Cstr(spageindex-1)&"&"&sstrurl&">前页</a>  "
     Else
         Response.write "首页  "
         Response.write "前页  "
     End If
     If  spageindex<>totalpage Then
         Response.Write "<a href=?page="&Cstr(spageindex+1)&"&"&sstrurl&">后页</a>  "
         Response.Write "<a href=?page="&totalpage&"&"&sstrurl&">尾页</a>"
     Else
         Response.Write "后页  "
         Response.Write "尾页"
     End If
              response.Write(" 选择查看<select onChange=window.location=‘?page=‘+this.options[selectedIndex].value+‘&"&sstrurl&"‘; name=select3>")
     for ipage=1 to totalpage
       response.write "<option value="&ipage
       if ipage=cint(spageindex) then response.write " selected"
       response.write ">"&ipage&"</option>"
      next
              response.Write("</select>页")
 end sub
end class
%>



 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多