分页asp分页的一个类,
在50,000条记录下测试过,速度比ado的那个要快多了 
<%
'************************************************************************************
'具体用法
'Set conn=Server.CreateObject("ADODB.Connection")
'conn.open "DRIVER={SQL Server};SERVER=(local);UID=sa;PWD=1230;DATABASE=Music"
'set rs = mp.Execute("select * from MusicList",conn,29)
'while not rs.eof
' response.write rs2("MusicName")&"
"
' rs2.MoveNext
'wend
'mp.pageDispaly()
'************************************************************************************
Class MyPage
 private MyPage_Conn,MyPage_StrSql,MyPage_TotalStrSql,MyPage_RS,MyPage_TotalRS
 private MyPage_PageSize
 private MyPage_PageAbsolute,MyPage_PageTotal,MyPage_RecordTotal
 private MyPage_Url
 public property let conn(strConn)
  set MyPage_Conn = strConn
 end property
 public property let PageSize(intPageSize)
  MyPage_PageSize = Cint(intPageSize)
 end property
 public function PageExecute(strSql)
  MyPage_PageAbsolute = MyPage_PageAbsoluteRequest()
  MyPage_TotalStrSql = FormatMyPage_TotalStrSql(strSql) 
  set MyPage_TotalRS = MyPage_Conn.execute(MyPage_TotalStrSql)
  MyPage_RecordTotal = MyPage_TotalRS("total")
  MyPage_PageTotal = Cint(MyPage_RecordTotal/MyPage_PageSize)
  MyPage_StrSql = FormatMyPage_StrSql(strSql)
  set MyPage_RS = MyPage_Conn.execute(MyPage_StrSql)
  dim i
  i = 0 
  while not MyPage_RS.eof and  i<(MyPage_PageAbsolute-1)*MyPage_PageSize
   i = i + 1
   MyPage_RS.MoveNext
  wend
  set PageExecute = MyPage_RS 
 end function
 public function Execute(strSql,strConn,intPageSize)
  conn = strConn
  PageSize = intPageSize
  set Execute = PageExecute(strSql)
 end function
 public function pageDispaly()
  MyPage_Url = ReadMyPage_Url
  firstPageTag = "<font face=webdings>9</font>"  '|<<
  LastPageTag = "<font face=webdings>:</font>"  '>>|
  previewPageTag = "<font face=webdings>7</font>"  '<<
  nextPageTag = "<font face=webdings>8</font>"  '>>
  dim strAnd
  if instr(MyPage_Url,"?")=0 then
   strAnd = "?"
  else
   strAnd = "&"
  end if
  response.write "<table width=100%  border=0 cellspacing=0 cellpadding=0>"
  response.write "<tr>"
  response.write "<td align=left>"
  response.write  "页次:"&MyPage_PageAbsolute&"/"&MyPage_PageTotal&"页 "
  response.write  "主题数:"&MyPage_RecordTotal
  response.write "</td>"
  response.write "<td align=right>"
  response.write  "分页:"
  if MyPage_PageAbsolute>10 then
   response.write  "<a href='"&MyPage_Url&strAnd&"MyPage_PageNo=1'>"&firstPageTag&"</a>"
   response.write  "<a 
href='"&MyPage_Url&strAnd&"MyPage_PageNo="&(MyPage_PageAbsolute-10)&"'>"&previewPageTag&"</a>"
  else
   response.write  firstPageTag
   response.write  previewPageTag
  end if
  response.write " "
  dim CurrentStartPage,i
  i = 1
  CurrentStartPage=(Cint(MyPage_PageAbsolute)\10)*10+1
  if Cint(MyPage_PageAbsolute) mod 10=0 then
   CurrentStartPage = CurrentStartPage - 10
  end if
  while i<11 and CurrentStartPage<MyPage_PageTotal+1
   if CurrentStartPage < 10 then
    FormatCurrentStartPage = "0" & CurrentStartPage
   else
    FormatCurrentStartPage = CurrentStartPage
   end if
   response.write  "<a 
href='"&MyPage_Url&strAnd&"MyPage_PageNo="&CurrentStartPage&"'>"&FormatCurrentStartPage&"</a> "
   i = i + 1
   CurrentStartPage = CurrentStartPage + 1
  wend
  if MyPage_PageAbsolute<(MyPage_PageTotal-10) then
   response.write  "<a 
href='"&MyPage_Url&strAnd&"MyPage_PageNo="&(MyPage_PageAbsolute+10)&"'>"&nextPageTag&"</a>"
   response.write  "<a 
href='"&MyPage_Url&strAnd&&
asp分页的一个类
                    80酷酷网    80kuku.com 
       
  
 
 
  
