选择显示字体大小

asp+oracle分页程序类(xdownpage2.0)(1)

    
  先将分页类源代码发上来,随后有空会发一些实例来讲解其用法,以及如何扩展其功能。
  
  类原代码如下:
  
  < %
  '==============================================
  'xdownpage asp版本
  '当前版本:2.0
  '
  '
  '原版本 1.00
  'code by zykj2000
  'email: zykj_2000@163.net
  'bbs: http://bbs.513soft.net
  '
  '
  '升级版本:1.5 (asp + oracle)
  updated by doublel
  email:
  blog: ttp://blog.csdn.net/doublel/
  '升级说明:
  '
  '
  '升级版本:2.0 ' (asp + oracle) ---->当前版本
  '保留原名:xdownpage
  updated by northsnow
  'email: northsnow@163.com
  'blog: http://blog.csdn.net/precipitant
  '升级说明:
  '1 , 数据查询时只查询当前页所包含的记录,大大降低了数据传输量
  '2 , 如果正常的页导航,不用每次都查询总记录数,只要第一次查询后,后来通过参数传递即可
  '3 , 支持动态更改页大小
  '4 , 支持动态排序
  '5 , 本程序只支持oracle,如果想用在sqlserver或者其他类型的数据库,请自行修改:public property let getsql(str_sql)即可。
  '
  '
  '其他程序修改者信息,请在源代码中查对!!!
  '本程序可以免费使用、修改、复制、转载、引用,希望我的程序能为您的工作带来方便
  '但请保留以上请息,特别是是原著信息。另外如果作为商业用途,请与原著和该版本升级
  '人联系以取得许可。
  '
  '
  '程序特点
  '本程序主要是对数据分页的部分进行了封装,而数据显示部份完全由用户自定义,
  '支持url多个参数
  '
  '使用说明
  '程序参数说明
  'papgesize 定义分页每一页的记录数
  'getrs 返回经过分页的recordset此属性只读
  'getconn 得到数据库连接
  'getsql 得到查询语句
  'totalrecordcount 传递总记录数
  
  '程序方法说明
  'showpage 显示分页导航条,唯一的公用方法
  'showpagesizechange() 显示改变页大小的列表
  '
  '例:
  '
  ' '包含文件
  '
  ' set mypage=new xdownpage '创建对象
  ' mypage.getconn=conn '得到数据库连接
  ' mypage.getsql="select * from productinfo order by id asc"
  ' mypage.pagesize=5 '设置每一页的记录条数据为5条
  'mypage.totalrecordcount=rstotalcount 设置总记录数
  ' set rs=mypage.getrs() '返回recordset
  'mypage.getsubmitform="frmquery" ' 分页默认提交的表单,currentpage参数
  'response.write(mypage.getsubmitform1()) '输出分页提交的函数
  ' mypage.showpage() '显示分页信息,这个方法可以,在set rs=mypage.getrs()以后
  ' 任意位置调用,可以调用多次
  ' do while not rs.eof '接下来的操作就和操作一个普通recordset对象一样操作
  ' response.write rs(0) & "
  ' " '这里就可以自定义显示方式了
  ' rs.movenext
  ' loop
  '
  '添加了保存当前页面数量的提交脚本
  '函数为getsubmitform()
  '需要提交给函数getsubmitform一个表单名字
  '在这个提交的表单里面保存变量flag,currentpage,pagesize,rstotalcount 四个参数
  '例子如下
  'flag=request("flag")
  'currentpage=request("currentpage")
  'currentpage=request("pagesize")
  'currentpage=request("rstotalcount")
  '在提交的表单里面加入下面四个input
  '<input name="flag" type="hidden" value="< % =flag% >">
  '<input name="currentpage" type="hidden" value="< % =currentpage% >">
  '<input name="pagesize" type="hidden" value="< % =pagesize% >">
  '<input name="rstotalcount" type="hidden" value="< % =rstotalcount% >">
  '==============================================
  
  const btn_first="<font face=""webdings"">9</font>" '定义第一页按钮显示样式
  const btn_prev="<font face=""webdings"">3</font>" '定义前一页按钮显示样式
  const btn_next="<font face=""webdings"">4</font>" '定义下一页按钮显示样式
  const btn_last="<font face=""webdings"">:</font>" '定义最后一页按钮显示样式
  const xd_align="center" '定义分页信息对齐方式
  const xd_width="100%" '定义分页信息框大小
  const xd_height="20"
  
  
  class xdownpage '类 从这里开始
  
  '变量定义
  public int_totalpage '总页数
  public int_curcount '当前页的记录数
  public xd_pagesize '页大小
  private int_curpage '当前页号
  private int_totalrecord '总记录数
  private xd_conn '数据库连接对象
  private xd_rs '记录集对象
  private xd_sql '主sql语句
  private xd_count_sql '查询总记录数的sql语句
  private str_errors
  private str_url
  private xd_surl
  private submitform '所需的查询表单名字(隐藏表单名字)
  
  
  
  '=================================================================
  'pagesize 属性
  '设置每一页的分页大小
  '=================================================================
  public property let pagesize(int_pagesize)
   if isnumeric(int_pagesize) then
   if clng(int_pagesize)>0 then
   xd_pagesize=clng(int_pagesize)
   else
   xd_pagesize=10
   end if
   else
   xd_pagesize=10
   end if
  end property
  
  public property get pagesize
   if xd_pagesize="" or (not(isnumeric(xd_pagesize))) then
   pagesize=10
   else
   pagesize=xd_pagesize
   end if
  end property
  
  
  '=================================================================
  'getrs 属性
  '返回分页后的记录集
  '=================================================================
  public property get getrs()
   set xd_rs=server.createobject("adodb.recordset")
   'xd_rs.pagesize=pagesize
   xd_rs.cursorlocation=3
   xd_rs.open xd_sql,xd_conn,3,1
   int_curcount=xd_rs.recordcount
   if int_totalrecord="" or not isnumeric(int_totalrecord) then int_totalrecord=0 '规范化int_totalrecord的值
   if int_totalrecord=0 and (int_curcount>=pagesize or int_curpage>1) then call queryrscount() '查询总记录数
   if err.number<>0 then
   response.write err.clear
   end if
   set getrs=xd_rs
  end property
  
  '=================================================================
  'queryrscount 方法
  '查询总记录数
  '=================================================================
  public sub queryrscount()
   '下面代码用于计算总记录数
   if xd_count_sql<>"" then
   set rs_sqlcount=server.createobject("adodb.recordset")
   rs_sqlcount.cursorlocation=3
   rs_sqlcount.open xd_count_sql,conn,3,1
   if (rs_sqlcount.eof and rs_sqlcount.bof) then
   int_totalrecord=0
   else
   int_totalrecord=rs_sqlcount(0)
   int_totalrecord=clng(int_totalrecord)
   end if
   rs_sqlcount.close
   set rs_sqlcount=nothing
   end if
  end sub
  
  '================================================================
  'getconn 得到数据库连接
  '
  '================================================================
  public property let getconn(obj_conn)
   set xd_conn=obj_conn
  end property
  
  '================================================================
  'getsql 得到查询语句
  '
  '================================================================
  public property let getsql(str_sql)
   if (str_sql<>"") then
   '根据给定查询语句,生成最终的查询语句(只取当前页内容):适用于oracle数据库
   xd_sql=" select * from (select rownum r_n,temptable.* from ("
   xd_sql=xd_sql&str_sql
   xd_sql=xd_sql&" ) temptable ) where r_n between " & cstr((int_curpage -1) * xd_pagesize +1) & " and " & cstr(int_curpage * xd_pagesize)
   '查询总记录数的查询语句
   xd_count_sql="select count(*) from ("& str_sql & ")"
   end if
  end property
  
  
  '================================================================
  'getsubmitform属性 设置查询条件的表单
  '
  '================================================================
  
  public property let getsubmitform(frmname)
   submitform=trim(frmname)
  end property
  
  '================================================================
  'getsubmitform1方法 输出分页导航所需脚本
  '
  '================================================================
  
  
    


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons