广

ASP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    叶子asp分页类

    2018-05-16 07:55:09 次阅读 稿源:互联网
    零七广告
    名称: 叶子asp分页类
    Name: ShowoPage(vbs class)
    RCSfile: ReadMe.txt
    Revision: 0.12.20051114.f
    Author: Yehe(叶子)
    Released: 2005-11-14 09:40:13
    Descript: ASP分页类,支持access/mssql/mysql/sqlite
    Contact: QQ:311673 MSN:myehe@msn.com GT:mmyehe@gmail.com
    WebSite: http://www.yehe.org http://www.showo.com
    ------------------------------------------------
    Licenses:
    本程序遵循GPL协议.
    协议原文地址:http://www.gnu.org/licenses/licenses.cn.html#GPL
    ------------------------------------------------
    Thanks:
    可洛: 感谢mssql分页核心部分
    Arbiter: 感谢部分分页思路
    才子: 感谢推广
    foxty: 感谢分页思路
    ------------------------------------------------
    Install:
    1.具体调用方法可以看demo的asp文档.
    2.mssql存储过程版的请先执行sp_Util_Page.sql文件添加存储过程.
    3.sp调用方法:
    exec sp_Util_Page 440000,4,10,''MID'',''MID,ip1,ip2,country,city'',''tbTempPage'',''1=1'',''mid asc''
    记录条数(已有值:序外部赋值,0执行count),当前页数,每页记录数,主键,字段,表,条件(不需要where),排序(不需要order by,需要asc和desc字符)
    如果不按主键排序,则排序赋值里面不能出现主键字符.
    ------------------------------------------------
    Release:
    0.12
    1.取text字段类型bug修正
    2.存储过程bug修正
    3.代码修正
    0.11
    1.存储过程加了非主键排序下的分页
    2.去掉了mssql的非存储过程版分页
    0.10:
    1.条件简化
    2.存储过程优化
    0.09:
    1.排序判断部分优化
    0.08:
    1.vbs bug修正
    0.07:
    1.bug修正,包括vbs类和js
    0.06Beta:
    1.js浏览器兼容优化
    2.类几个函数的bug修正
    0.05Beta:
    1.全面代码优化,mysql/sqlite支持
    2.参数输入方式修改
    0.04Beta:
    1.做到调用代码一样适应多种数据库集成分页
    2.js去掉了表单,支持静态提交
    3.加上了存储过程
    0.03Beta:
    1.公开发布的显示为0.02,其实为0.03,分为ac版类,mssql版类发布
    2.js的bug修正
    3.写成了类,进一步方便调用
    0.02Beta:
    1.加上对mssql的支持
    2.封装成了函数版,方便调用
    3.js文件的优化
    0.01Beta:
    1.没有写成函数,只是找到了比较快的ac分页方法
    2.分页样式用js显示
    ------------------------------------------------
    File:
    db/IP.mdb access测试数据库
    db/IP mssql备份测试数据库
    Cls_vbsPage.asp 分页类
    Cls_jsPage.js js分页样式
    sp_Util_Page.sql mssql存储过程
    demoAC.asp ac分页调用示范
    demoMSSQL.asp mssql调用示范
    demoMSSQL_SP.asp mssql存储过程调用示范
    Cls_vbsPage.asp 
    <%
    Class Cls_vbsPage
     Private oConn  ''连接对象
     Private iPagesize ''每页记录数
     Private sPageName ''地址栏页数参数名
     Private sDbType
     ''数据库类型,AC为access,MSSQL为SQL SERVER2000存储过程版,MYSQL为mysql,PGSQL为PostGreSql
     Private iRecType ''记录总数(>0为另外取值再赋予或者固定值,0执行count设置存cookies,-1执行count不设置cookies)
     Private sJsUrl  ''Cls_jsPage.js的路径
     Private sField  ''字段名
     Private sTable  ''表名
     Private sCondition ''条件,不需要where
     Private sOrderBy ''排序,不需要order by,需要asc或者desc
     Private sPkey  ''主键,必写
     Private iRecCount
     ''================================================================
     '' Class_Initialize 类的初始化
     ''================================================================
     Private Sub Class_Initialize
      iPageSize=10
      sPageName="Page"
      sDbType="AC"
      iRecType=0
      sJsUrl=""
      sField=" * "
     End Sub
     ''================================================================
     '' Conn 得到数据库连接对象
     ''================================================================
     Public Property Set Conn(ByRef Value)
      Set oConn=Value
     End Property
     ''================================================================
     '' PageSize 设置每一页记录条数,默认10记录
     ''================================================================
     Public Property Let PageSize(ByVal intPageSize)
      iPageSize=CheckNum(intPageSize,0,0,iPageSize,0) 
     End Property
     ''================================================================
     '' PageName 地址栏页数参数名
     ''================================================================
     Public Property Let PageName(ByVal strPageName)
      sPageName=IIf(Len(strPageName)<1,sPageName,strPageName)
     End Property
     ''================================================================
     '' DbType 得到数据库类型
     ''================================================================ 
     Public Property Let DbType(ByVal strDbType)
      sDbType=UCase(IIf(Len(strDbType)<1,sDbType,strDbType))
     End Property
     ''================================================================
     '' RecType 取记录总数(>0为赋值或者固定值,0执行count设置存cookies,-1执行count不设置cookies适用于搜索)
     ''================================================================
     Public Property Let RecType(ByVal intRecType)
      iRecType=CheckNum(intRecType,0,0,iRecType,0) 
     End Property
     ''================================================================
     '' JsUrl 取得Cls_jsPage.js的路径
     ''================================================================
     Public Property Let JsUrl(ByVal strJsUrl)
      sJsUrl=strJsUrl
     End Property
     ''================================================================
     '' Pkey 取得主键
     ''================================================================
     Public Property Let Pkey(ByVal strPkey)
      sPkey=strPkey
     End Property
     ''================================================================
     '' Field 取得字段名
     ''================================================================
     Public Property Let Field(ByVal strField)
      sField=IIf(Len(strField)<1,sField,strField)
     End Property
     ''================================================================
     '' Table 取得表名
     ''================================================================
     Public Property Let Table(ByVal strTable)
      sTable=strTable
     End Property
     ''================================================================
     '' Condition 取得条件
     ''================================================================
     Public Property Let Condition(ByVal strCondition)
      s=strCondition
      sCondition=IIf(Len(s)>2," WHERE "&s,"")
     End Property
     ''================================================================
     '' OrderBy 取得排序
     ''================================================================
     Public Property Let OrderBy(ByVal strOrderBy)
      s=strOrderBy
      sOrderBy=IIf(Len(s)>4," ORDER BY "&s,"")
     End Property
     ''================================================================
     '' RecCount 修正记录总数
     ''================================================================
     Public Property Get RecCount()
      If iRecType>0 Then
       i=iRecType
      Elseif iRecType=0 Then
       i=CheckNum(Request.Cookies("ShowoPage")(sPageName),1,0,0,0)
       s=Trim(Request.Cookies("ShowoPage")("sCond"))
       IF i=0 OR sCondition<>s Then
        i=oConn.Execute("SELECT COUNT("&sPkey&") FROM "&sTable&" "&sCondition,0,1)(0)
        Response.Cookies("ShowoPage")(sPageName)=i
        Response.Cookies("ShowoPage")("sCond")=sCondition
       End If
      Else
       i=oConn.Execute("SELECT COUNT("&sPkey&") FROM "&sTable&" "&sCondition,0,1)(0)
      End If
      iRecCount=i
      RecCount=i
     End Property
     ''================================================================
     '' ResultSet 返回分页后的记录集
     ''================================================================
     Public Property Get ResultSet()
      s=Null
      ''记录总数
      i=iRecCount
      ''当前页
      If i>0 Then
       iPageCount=Abs(Int(-Abs(i/iPageSize)))''页数
       iPageCurr=CheckNum(Request.QueryString(sPageName),1,1,1,iPageCount)''当前页
       Select Case sDbType
        Case "MSSQL" ''sqlserver2000数据库存储过程版
         Set Rs=server.CreateObject("Adodb.RecordSet")
         Set Cm=Server.CreateObject("Adodb.Command")
         Cm.CommandType=4
         Cm.ActiveConnection=oConn
         Cm.CommandText="sp_Util_Page"
         Cm.parameters(1)=i
         Cm.parameters(2)=iPageCurr
         Cm.parameters(3)=iPageSize
         Cm.parameters(4)=sPkey
         Cm.parameters(5)=sField
         Cm.parameters(6)=sTable
         Cm.parameters(7)=Replace(sCondition," WHERE ","")
         Cm.parameters(8)=Replace(sOrderBy," ORDER BY ","")
         Rs.CursorLocation=3
         Rs.LockType=1
         Rs.Open Cm
        Case "MYSQL" ''MYSQL数据库
         ResultSet_Sql="SELECT "&sField&" FROM "&sTable&" "&sCondition&" "&sOrderBy&" LIMIT "&(iPageCurr-1)*iPageSize&","&iPageSize
         Set Rs=oConn.Execute(ResultSet_Sql)
        Case Else ''其他情况按最原始的方法处理(AC同理)
         Set Rs = Server.CreateObject ("Adodb.RecordSet")
         ResultSet_Sql="SELECT "&sField&" FROM "&sTable&" "&sCondition&" "&sOrderBy
         Rs.Open ResultSet_Sql,oConn,1,1,&H0001
         Rs.AbsolutePosition=(iPageCurr-1)*iPageSize+1
       End Select
       s=Rs.GetRows(iPageSize)
       Rs.close
       Set Rs=Nothing
      End If
      ResultSet=s
     End Property
     ''================================================================
     '' Class_Terminate 类注销
     ''================================================================
     Private Sub Class_Terminate()
      If IsObject(oConn) Then oConn.Close:Set oConn=Nothing
     End Sub
     ''================================================================
     '' 输入:检查字符,是否有最小值,是否有最大值,最小值(默认数字),最大值
     ''================================================================
     Private Function CheckNum(ByVal strStr,ByVal blnMin,ByVal blnMax,ByVal intMin,ByVal intMax)
      Dim i,s,iMi,iMa
      s=Left(Trim(""&strStr),32):iMi=intMin:iMa=intMax
      If IsNumeric(s) Then
       i=CDbl(s)
       i=IIf(blnMin=1 And i<iMi,iMi,i)
       i=IIf(blnMax=1 And i>iMa,iMa,i)
      Else
       i=iMi
      End If
      CheckNum=i
     End Function
     ''================================================================
     '' 输入:简化条件判断
     ''================================================================
     Private Function IIf(ByVal blnBool,ByVal strStr1,ByVal strStr2)
      Dim s
      If blnBool Then
       s=strStr1
      Else
       s=strStr2
      End If
      IIf=s
     End Function
     ''================================================================
     '' 上下页部分
     ''================================================================
     Public Sub ShowPage()%>
      <Script Language="JavaScript" type="text/JavaScript" src="<%=sJsUrl%>Cls_jsPage.js"></Script>
      <Script Language="JavaScript" type="text/JavaScript">
      var s= new Cls_jsPage(<%=iRecCount%>,<%=iPageSize%>,3,"s"); 
      s.setPageSE("<%=sPageName%>=","");
      s.setPageInput("<%=sPageName%>");
      s.setUrl("");
      s.setPageFrist("首页","<<");
      s.setPagePrev("上页","<");
      s.setPageNext("下页",">");
      s.setPageLast("尾页",">>");
      s.setPageText("[{$PageNum}]","第{$PageNum}页");
      s.setPageTextF(" {$PageTextF} "," {$PageTextF} ");
      s.setPageSelect("{$PageNum}","第{$PageNum}页");
      s.setPageCss("","","");
      s.setHtml("共{$RecCount}记录 页次{$Page}/{$PageCount} 每页{$PageSize}条 {$PageFrist} {$PagePrev} {$PageText} {$PageNext} {$PageLast} {$PageInput} {$PageSelect}");
      s.Write();
      </Script>
     <%End Sub
    End Class%>
    Cls_jsPage.js
    /**
    *=================================================================
    *Name:   叶子js分页样式(ShowoPage Style With JS)
    *RCSfile:  Cls_jsPage.js
    *Revision:  0.09
    *Author:  Yehe(叶子)
    *Released:  2005-05-12 23:00:15
    *Description: js分页样式,显示上一页下一页的翻页结果
    *Contact:  QQ:311673,MSN:myehe@msn.com
    *WebSite:  http://www.yehe.org,http://www.showo.com
    *=================================================================
    */
    function Cls_jsPage(iRecCount,iPageSize,iPageNum,sName){
     this.iRC=this.FormatNum(iRecCount,1,0,0,0);//总记录条数
     this.iPS=this.FormatNum(iPageSize,1,0,1,0);//每页记录数目
     this.iPN=this.FormatNum(iPageNum,0,0,0,0);//显示的前后页数,0为显示所有,负数为这么多页面一个跳转
     this.sN=sName;//实例对象名
     this.sTPage="{$Page}";//页数
     this.sTPageCount="{$PageCount}";//总页数
     this.sTRecCount="{$RecCount}";//总记录数
     this.sTPageSize="{$PageSize}";//每页记录数
     this.sTPageFrist="{$PageFrist}";//首页
     this.sTPagePrev="{$PagePrev}";//上页
     this.sTPageNext="{$PageNext}";//下页
     this.sTPageLast="{$PageLast}";//尾页
     this.sTPageText="{$PageText}";//数字跳转
     this.sTPageTextF="{$PageTextF}";//数字跳转框架
     this.sTPageInput="{$PageInput}";//输入框跳转
     this.sTPageSelect="{$PageSelect}";//下拉菜单跳转
     this.sTPageNum="{$PageNum}";//数字页数
     this.iPC=this.getPageCount();//得到页数
    }
    //输入 页数开始值,结尾值
    Cls_jsPage.prototype.setPageSE=function(sPageStart,sPageEnd){
     var sPS=sPageStart,sPE=sPageEnd;
     this.sPS=(sPS.length>0)?sPS:"Page=";
     this.sPE=(sPE.length>0)?sPE:"";
    }
    //输入 网址
    Cls_jsPage.prototype.setUrl=function(sUrl){
     var s=sUrl;
     this.Url=(s.length>0)?s:""+document.location;
    }
    //输入 输入框&下拉框name值
    Cls_jsPage.prototype.setPageInput=function(sPageInput){
     var sPI=sPageInput;
     this.sPI=(sPI.length>0)?sPI:"Page";
    }
    //输入 语言 首页(Disable,Enale)
    Cls_jsPage.prototype.setPageFrist=function(sDis,sEn){
     this.PF_D=sDis;
     this.PF_E=sEn;
    }
    //输入 语言 上页
    Cls_jsPage.prototype.setPagePrev=function(sDis,sEn){
     this.PP_D=sDis;
     this.PP_E=sEn;
    }
    //输入 语言 下页
    Cls_jsPage.prototype.setPageNext=function(sDis,sEn){
     this.PN_D=sDis;
     this.PN_E=sEn;
    }
    //输入 语言 尾页
    Cls_jsPage.prototype.setPageLast=function(sDis,sEn){
     this.PL_D=sDis;
     this.PL_E=sEn;
    }
    //输入 语言 数字跳转
    Cls_jsPage.prototype.setPageText=function(sDis,sEn){
     this.PT_D=sDis;//"[{$PageNum}]"
     this.PT_E=sEn;//"第{$PageNum}页"
    }
    //输入 语言 数字跳转外围模板
    Cls_jsPage.prototype.setPageTextF=function(sDis,sEn){
     this.PTF_D=sDis;//" {$PageTextF} "
     this.PTF_E=sEn;//" {$PageTextF} "
    }
    //输入 语言 下拉菜单跳转
    Cls_jsPage.prototype.setPageSelect=function(sDis,sEn){
     this.PS_D=sDis;//"[{$PageNum}]"
     this.PS_E=sEn;//"第{$PageNum}页"
    }
    //输入 css
    Cls_jsPage.prototype.setPageCss=function(sCssPageText,sCssPageInput,sCssPageSelect){
     this.CPT=sCssPageText;//数字跳转css
     this.CPI=sCssPageInput;//输入框跳转css
     this.CPS=sCssPageSelect;//下拉菜单跳转css
    }
    //输入 Html模板
    Cls_jsPage.prototype.setHtml=function(sHtml){
     this.Html=sHtml;//Html模板
    }
    //计算页数
    Cls_jsPage.prototype.getPageCount=function(){
     var iRC=this.iRC,iPS=this.iPS;
     var i=(iRC%iPS==0)?(iRC/iPS):(this.FormatNum((iRC/iPS),1,0,0,0)+1);
     return (i);
    }
    //取得模板页数和当前页数
    Cls_jsPage.prototype.getUrl=function(iType){
     var s=this.Url,sPS=this.sPS,sPE=this.sPE,sTP=this.sTPage,iPC=this.iPC;
     var iT=iType,i;
     if (s.indexOf(sPS)==-1) { 
      s+=((s.indexOf("?")==-1)?"?":"&")+sPS+sTP;
      i=1;
     }
     else {
      sReg="(//S.*)"+this.FormatReg(sPS)+"(//d*)"+this.FormatReg(sPE)+"(//S.*|//S*)";
      var sPIndex=this.Reg(s,sReg,"$3");
      s=s.replace(sPS+sPIndex+sPE,sPS+sTP+sPE);
      i=this.FormatNum(sPIndex,1,1,0,iPC);
     }
     s=this.Reg(s,"(&+)","&");
     s=this.Reg(s,"(//?&)","?");
     return (iT==0?s:i);
    }
    //页面跳转
    Cls_jsPage.prototype.PageJump=function(){
     var sPL,sPV,sP;
     var sU=this.getUrl(0),iPI=this.getUrl(1);
     var sPI=this.sPI,sTP=this.sTPage,iPC=this.iPC;
     sPL=document.getElementsByName(sPI).length;
     for (var i=0;i<sPL;i++) {
      sPV=document.getElementsByName(sPI)[i].value;
      sP=this.FormatNum(sPV,1,1,0,iPC);
      if (sP>0) {
       location.href=sU.replace(sTP,sP);
       break;
      }
     }
    }
    //输出
    Cls_jsPage.prototype.Write=function(){
     var sU=this.getUrl(0),iPI=this.getUrl(1);
     var sN=this.sN,sPI=this.sPI;
     var iPC=this.iPC,iPN=this.iPN;;
     var iRC=this.iRC,iPS=this.iPS;
     var PF_D=this.PF_D,PF_E=this.PF_E;
     var PP_D=this.PP_D,PP_E=this.PP_E;
     var PN_D=this.PN_D,PN_E=this.PN_E;
     var PL_D=this.PL_D,PL_E=this.PL_E;
     var PT_D=this.PT_D,PT_E=this.PT_E;
     var PTF_D=this.PTF_D,PTF_E=this.PTF_E;
     var PS_D=this.PS_D,PS_E=this.PS_E;
     var CPT=this.CPT,CPI=this.CPI;
     var CPS=this.CPS,iPN=this.iPN;
     var s=this.Html;
     sTPage=this.sTPage;
     sTPageCount=this.sTPageCount;
     sTRecCount=this.sTRecCount;
     sTPageSize=this.sTPageSize;
     sTPFrist=this.sTPageFrist;
     sTPPrev=this.sTPagePrev;
     sTPNext=this.sTPageNext;
     sTPLast=this.sTPageLast;
     sTPText=this.sTPageText;
     sTPTextF=this.sTPageTextF;
     sTPInput=this.sTPageInput;
     sTPSelect=this.sTPageSelect;
     sTPageNum=this.sTPageNum;
     var PrevP=this.FormatNum((iPI-1),1,1,1,iPC),NextP=this.FormatNum((iPI+1),1,1,1,iPC);
     var FU,PU,NU,LU;
     var s1="<span class=/""+CPT+"/"><A href=/"",s2="/">",s3="</A></span>";
     var s4="<span class=/""+CPT+"/">",s5="</span>";
     if (iPI<=1&&iPC<=1) {
      FU=s4+PF_D+s5;
      PU=s4+PP_D+s5;
      NU=s4+PN_D+s5;
      LU=s4+PL_D+s5;
     }
     else if (iPI==1&&iPC>1) {
      FU=s4+PF_D+s5;
      PU=s4+PP_D+s5;
      NU=s1+sU.replace(sTPage,NextP)+s2+PN_E+s3;
      LU=s1+sU.replace(sTPage,iPC)+s2+PL_E+s3;
     }
     else if (iPI==iPC) {
      FU=s1+sU.replace(sTPage,1)+s2+PF_E+s3;
      PU=s1+sU.replace(sTPage,PrevP)+s2+PP_E+s3;
      NU=s4+PN_D+s5;
      LU=s4+PL_D+s5;
     }
     else {
      FU=s1+sU.replace(sTPage,1)+s2+PF_E+s3;
      PU=s1+sU.replace(sTPage,PrevP)+s2+PP_E+s3;
      NU=s1+sU.replace(sTPage,NextP)+s2+PN_E+s3;
      LU=s1+sU.replace(sTPage,iPC)+s2+PL_E+s3;
     }
     var PageStart,PageEnd;
     if (iPN<0) {
      iPN=Math.abs(iPN);
      PageStart=(iPI%iPN==0)?(iPI/iPN):(this.FormatNum((iPI/iPN),1,0,0,0));
      PageStart=(PageStart*iPN==iPI)?((PageStart-1)*iPN+1):(PageStart*iPN+1);
      PageEnd=this.FormatNum(PageStart+iPN,0,1,0,iPC)
     }
     else if (iPN==0) {
      PageStart=1;
      PageEnd=iPC;
     }
     else {
      PageStart=this.FormatNum((iPI-iPN),1,0,1,0);
      PageEnd=this.FormatNum((PageStart+iPN*2),0,1,0,iPC);
      PageStart=(PageEnd==iPC)?this.FormatNum((PageEnd-iPN*2),1,0,1,0):PageStart;
     }
     var PSelect="",PText="",PInput="",p;
     if (iPC>=1) {
      PSelect="<Select class=/""+CPS+"/" name=/""+sPI+"/" onChange=/""+sN+".PageJump()/">";
      PInput="<Input class=/""+CPI+"/" type=/"text/" name=/""+sPI+"/" size=/"5/" maxlength=/"10/" onkeydown=/"if (event.keyCode==13) "+sN+".PageJump()/">";
      for (var i=PageStart;i<=PageEnd;i++) {
       if (i!=iPI) {
        p=s1+sU.replace(sTPage,i)+s2+PT_E.replace(sTPageNum,i)+s3;
        PText+=PTF_E.replace(sTPTextF,p);
        PSelect+="<Option value=/""+i+"/">"+PS_E.replace(sTPageNum,i)+"</Option>";
       }
       else {
        p=s4+PT_D.replace(sTPageNum,i)+s5;
        PText+=PTF_D.replace(sTPTextF,p);
        PSelect+="<Option Selected=/"Selected/">"+PS_D.replace(sTPageNum,i)+"</Option>";
       }
      }
      PSelect+="</Select>";
     }
     s=s.replace(sTPage,iPI);
     s=s.replace(sTPageCount,iPC);
     s=s.replace(sTRecCount,iRC);
     s=s.replace(sTPageSize,iPS);
     s=s.replace(sTPFrist,FU);
     s=s.replace(sTPPrev,PU);
     s=s.replace(sTPNext,NU);
     s=s.replace(sTPLast,LU);
     s=s.replace(sTPText,PText);
     s=s.replace(sTPInput,PInput);
     s=s.replace(sTPSelect,PSelect);
     document.write (s);
    }
    //输入:欲格式化字符,是否有最小值(0表示没有,1表示有),是否有最大值,最小值(默认值),最大值
    Cls_jsPage.prototype.FormatNum=function(sNum,bMin,bMax,iMinNum,iMaxNum){
     var i,iN,sN=""+sNum,iMin=iMinNum,iMax=iMaxNum;
     if (sN.length>0) {
      iN=parseInt(sN,10);
      i=(isNaN(iN))?iMin:iN;
      i=(i<iMin&&bMin==1)?iMin:i;
      i=(i>iMax&&bMax==1)?iMax:i;
     }
     else {
      i=iMin;
     }
     return (i);
    }
    //输入:欲正则字符,正则表达式,替换后字符
    Cls_jsPage.prototype.Reg=function(sStr,sReg,sRe){
     var s="",sS=sStr,sR=sReg,sRe=sRe;
     if ((sS.length>0)&&(sR.length>0)) {
      eval("re=/"+sR+"/gim;");
      s=sS.replace(re,sRe);
     }
     return (s);
    }
    //格式化正则中的特殊字符
    Cls_jsPage.prototype.FormatReg=function(sReg){
     var s="",sR=sReg;
     var sF=new Array ("/",".","+","[","]","{","}","$","^","?","*");
     if (sR.length>0) {
      for (var i=0;i<=sF.length;i++) {
       sR=sR.replace(sF[i],"//"+sF[i]);
      }
      s="("+sR+")";
     }
     return (s);
    }
    demoAC.asp
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
    <!--#include file="Cls_vbsPage.asp"-->
    <%
    ''-----------------------------------------------------------------------------------------------
    On Error Resume Next
    DIM startime,endtime
    ''统计执行时间
    startime=timer()
    ''连接数据库
    DIM Db,Conn,Rs
    Db = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/IP.mdb")
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.open Db
    ''-----------------------------------------------------------------------------------------------
    %>
    <html>
    <head>
    <title>叶子ASP分页类-access调用示范</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <style type="text/css">
    <!--
    table {  font-size: 12px}
    a {  font-size: 12px; color: #000000; text-decoration: none}
    -->
    </style>
    </head>
    <body bgcolor="#FFFFFF" text="#000000">
    <table width="760" border="0" cellspacing="2" cellpadding="2" style="text-align:center" height="30">
     <tr> 
       <td> </td>
     </tr>
    </table>
    <table width="760" border="1" cellspacing="0" cellpadding="4" style="text-align:center" bordercolordark="#FFFFFF" bordercolorlight="#CCCCCC">
     <tr style="text-align:center"> 
       <td width="20">ID</td>
       <td>标题</td>
       <td>内容(显示前20个字)</td>
       <td>时间</td>
     </tr>
     <%
    Dim ors
    Set ors=new Cls_vbsPage ''创建对象
    Set ors.Conn=conn  ''得到数据库连接对象
    With ors
     .PageSize=13  ''每页记录条数
     .PageName="Pages" ''cookies名称
     .DbType="AC"
     ''数据库类型,AC为access,MSSQL为sqlserver2000存储过程版,MYSQL为mysql,PGSQL为PostGreSql
     .RecType=0
     ''记录总数(>0为另外取值再赋予或者固定值,0执行count设置存cookies,-1执行count不设置cookies)
     .JsUrl=""   ''Cls_jsPage.js的路径
     .Pkey="MID"   ''主键
     .Field="MID,ip2,country,city"
     .Table="dv_address"
     .Condition=""  ''条件,不需要where
     .OrderBy="MID DESC" ''排序,不需要order by,需要asc或者desc
    End With
    iRecCount=ors.RecCount()''记录总数
    iRs=ors.ResultSet()  ''返回ResultSet
    If  iRecCount<1 Then%>
    <tr bgcolor=""> 
       <td >暂无记录</td>    
     </tr>
    <%
    Else     
       For i=0 To Ubound(iRs,2)%>
     <tr bgcolor="#FFFFFF"> 
       <td><%=iRs(0,i)%></td>
       <td><%=iRs(1,i)%></td>
       <td><%=left(iRs(2,i),20)%></td>
       <td><%=iRs(3,i)%></td>
     </tr><%
       Next 
    End If
    %>
    </table>
    <table width="760" border="0" cellspacing="2" cellpadding="2" style="text-align:center">
     <tr> 
       <td>
    <%ors.ShowPage()%>
    </td>
     </tr>  
    </table> 
    <table width="760" border="0" style="text-align:center" cellpadding="2" cellspacing="2">
     <tr> 
       <td style="text-align:center"> 
         <%endtime=timer()%>
         本页面执行时间:<%=FormatNumber((endtime-startime)*1000,3)%>毫秒</td>
     </tr>
    </table>
    </body>
    </html>
    <%
    iRs=NULL
    ors=NULL
    Set ors=NoThing
    %>
    demoMSSQL.asp
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
    <!--#include file="Cls_vbsPage.asp"-->
    <%
    ''-----------------------------------------------------------------------------------------------
    On Error Resume Next
    DIM startime,endtime
    ''统计执行时间
    startime=timer()
    ''连接数据库
    DIM Db,Conn,Rs
    strSQLServerName = "(local)"      ''服务器名称或地址
    strSQLDBUserName = "sa"           ''数据库帐号
    strSQLDBPassword = "19811030"     ''数据库密码
    strSQLDBName = "showoTemp"    ''数据库名称
    Set Conn = Server.CreateObject("ADODB.Connection")
    Db = "Provider=SQLOLEDB.1;Persist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & ";Password=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
    Conn.open Db
    ''-----------------------------------------------------------------------------------------------
    %>
    <html>
    <head>
    <title>叶子ASP分页类-mssql调用示范</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <style type="text/css">
    <!--
    table {  font-size: 12px}
    a {  font-size: 12px; color: #000000; text-decoration: none}
    -->
    </style>
    </head>
    <body bgcolor="#FFFFFF" text="#000000">
    <table width="760" border="0" cellspacing="2" cellpadding="2" style="text-align:center" height="30">
     <tr> 
       <td> </td>
     </tr>
    </table>
    <table width="760" border="1" cellspacing="0" cellpadding="4" style="text-align:center" bordercolordark="#FFFFFF" bordercolorlight="#CCCCCC">
     <tr style="text-align:center"> 
       <td width="20">ID</td>
       <td>标题</td>
       <td>内容(显示前20个字)</td>
       <td>时间</td>
     </tr>
     <%
    Dim ors
    Set ors=new Cls_vbsPage ''创建对象
    Set ors.Conn=conn  ''得到数据库连接对象
    With ors
     .PageSize=13  ''每页记录条数
     .PageSize=13  ''每页记录条数
     .PageName="Pages" ''cookies名称
     .DbType="MSSQL"
     ''数据库类型,AC为access,MSSQL为sqlserver2000存储过程版,MYSQL为mysql,PGSQL为PostGreSql
     .RecType=0
     ''记录总数(>0为另外取值再赋予或者固定值,0执行count设置存cookies,-1执行count不设置cookies)
     .JsUrl=""   ''Cls_jsPage.js的路径
     .Pkey="MID"   ''主键
     .Field="MID,ip2,country,city"
     .Table="tbTempPage"
     .Condition=""  ''条件,不需要where
     .OrderBy="MID ASC" ''排序,不需要order by,需要asc或者desc
    End With
    iRecCount=ors.RecCount()''记录总数
    iRs=ors.ResultSet()  ''返回ResultSet
    If  iRecCount<1 Then%>
    <tr bgcolor=""> 
       <td >暂无记录</td>    
     </tr>
    <%
    Else     
       For i=0 To Ubound(iRs,2)%>
     <tr bgcolor="#FFFFFF"> 
       <td><%=iRs(0,i)%></td>
       <td><%=iRs(1,i)%></td>
       <td><%=left(iRs(2,i),20)%></td>
       <td><%=iRs(3,i)%></td>
     </tr><%
       Next 
    End If
    %>
    </table>
    <table width="760" border="0" cellspacing="2" cellpadding="2" style="text-align:center">
     <tr> 
       <td>
    <%ors.ShowPage()%>
    </td>
     </tr>  
    </table> 
    <table width="760" border="0" style="text-align:center" cellpadding="2" cellspacing="2">
     <tr> 
       <td style="text-align:center"> 
         <%endtime=timer()%>
         本页面执行时间:<%=FormatNumber((endtime-startime)*1000,3)%>毫秒</td>
     </tr>
    </table>
    </body>
    </html>
    <%
    iRs=NULL
    ors=NULL
    Set ors=NoThing
    %>

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告