首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 操作系统-> 经验技巧
asp+sqlserver 分页方法(不用存储过程)-ASP教程,ASP应用
作者:网友供稿 点击:64
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
 我的一个asp + sqlserver的分页程序:这个程序的特点就是指将当前页的纪录掉到页面上来。性能不错,而且不用存储过程,由于代码没有封装,所以很零散,要用到你的程序中,需要先简单读读。然后注意需要自己设置的地方的意思。有些是可以省略的。有些参数传递也是可以省略的。

代码如下:

  塞北的雪  分页利器(sql server)  不用存储过程   -------------------------

其中注释中有 ###的需要用户设置
其中注释中有 参数传递 ** 的 说明要通过参数 传递。


定义变量
dim toption                  查询条件
dim torder                   排序字符串     
dim torderfield              排序字段        可通过参数获得:order_field
dim torderdirection          排序方向        可通过参数获得:order_direction

dim tpagesize                页大小
dim ttotalcount              总记录数        可通过参数获得:t_count
dim tpagecount               页数
dim tcurpage                 当前页号        可通过参数获得:page

dim ttablename               表或者视图名
dim tfieldalias              行号的别名
dim tfieldlist               查询的字段列表
dim tpagefield               用于分页的字段

dim r_count                  查得的记录数


set rs=server.createobject("adodb.recordset")        记录集对象

排序处理
torderfield=request("order_field")                   获得排序字段(参数传递 **)
torderdirection=request("order_dir")                 获得排序方向(参数传递 **)

if(torderfield="") then torderfield="item_code"       ### 设置默认排序字段
if(torderdirection="") then torderdirection="asc"     ### 设置默认排序方向
www.knowsky.com
torder=" order by " & torderfield & " " & torderdirection & " "   生成排序字符串


定义参数
tpagesize=find_rs_count        ### 设置页大小
ttablename="view_select1"      ### 设置与查询的表格或视图
tfieldlist=" * "               ### 欲查询的字段列表
tpagefield="item_code"         ### 设置一个主键或唯一索引的字段 ,用于分页计算


页数处理
tcurpage=request("page")             获得当前页(参数传递 **)
ttotalcount=request("t_count")       获得总页数(参数传递 **)

if(tcurpage="") then tcurpage=1
if(cint(tcurpage)=0) then tcurpage=1
if(tpagecount="") then tpagecount =1
if(cint(tpagecount)=0) then tpagecount=1

构造查询条件,根据具体的程序,肯定不一样。但是最后的条件必须是“ where ??? ”
toption=" issue_flag=y"                      ### 设置条件
if f_c<>"" then toption= toption & f_c         ### 设置条件

if trim(toption)="" then
     toption = " where 1=1 "   如果没有条件,就自己加一个。
else
     toption= " where " & toption
end if

   
  
     构造查询字符串,这个分页程序的核心,此查询串是我们只下载当前页所需的记录
 if(tcurpage>1) then
  constr="select top " & tpagesize & " " & tfieldlist & "  from  " & ttablename &  toption
  constr =constr & " and " & tpagefield & " not in(select top " & tpagesize*(tcurpage-1) & " " & tpagefield & "  from " & ttablename &  toption & " " & torder & ") " & torder
 else
  constr="select top " & tpagesize & " " & tfieldlist & " from " & ttablename & toption & " " & torder
 end if
 
 
 执行主查询,获得相应记录集
 call conndatabase()                       ### 建立数据库连接
    rs.cursorlocation=3
    rs.open constr,conn,3,1                 执行查询
    r_count= rs.recordcount


   当还没有查询过总记录数时 并且 总的记录数超过了页大小时 ,查询当前条件下的总的记录数
   if(r_count>=tpagesize or tcurpage>1) and ttotalcount=0 then
      set rr=conn.execute("select count(*) from " & ttablename & " " & toption)
      ttotalcount=rr(0)
      rr.close()
      set rr=nothing
   end if   
   if(cint(ttotalcount)=0) then ttotalcount=r_count 如果总记录为0,将当前差得的记录集的记录数设置为总记录数,说明当前的总记录数小于页大小
  
   利用页大小和总记录数 计算页数
   if(cint(ttotalcount)>cint(tpagesize)) then
  tpagecount=cint((cint(ttotalcount) \ cint(tpagesize)))
  if(cint(ttotalcount) mod cint(tpagesize))>0 then
      tpagecount =tpagecount +1
  end if
   end if
 
   tcurpage=cint(tcurpage)
   tpagecount=cint(tpagecount)


  ---------------------------------------------------------------------

        这就是全部代码,感兴趣的朋友,可以研究一下,或者将他封装起来,加上分页导航等方法。总之,希望此代码能对大家有用。


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·JSP页面中的自定义标签2-JSP教程,Jsp/Servlet
·C#中调用消息对话框,并取得其返回值-.NET教程,C#语言
·StringBuffer帮你减轻Java的负担-JSP教程,Java技巧及代码
·asp之字符串函数示例-ASP教程,ASP应用
·不用iconv库的gb2312与utf-8的互换函数-PHP教程,数据库相关
·windows硬件驱动程序安装目录列表详解
·ASP中正则表达式的应用-ASP教程,ASP基础
·关于VB.net中无法使用VB6控件-.NET教程,VB.Net语言
·清除垃圾 给你的电脑减负让其全速运行
·win98和winxp双系统启动菜单的恢复
最新文章
·别浪费你的大内存 如何给windows提速_经验技巧
·用frontpage手把手教你制作网上电影的发布_frontpages教程
·有效管理系统字体的七种绝技_经验技巧
·c盘空间再小也能安装字体_经验技巧
·不破坏硬盘数据将fat32转为ntfs分区的方法_经验技巧
·服务器变慢的两种非常规解决办法_经验技巧
·seo:刚入门还不如不入门的_seo网站优化
·教你快速释放windows系统资源的小绝招_经验技巧
·巧用流量交换联盟 轻松日入至少60元_网赚技巧
·john chow博客赚钱电子书:必要的 wordpress 装备_网赚技巧
相关主题
  • asp+sqlserver2000 经验积累_asp技巧
  • ASP+SQL Server构建网页防火墙-ASP教程,数据库相关
  • ASP+SMTP完成邮件群发功能-ASP教程,邮件相关
  • Asp+Sql 个人总结对数据库的各种操作-ASP教程,ASP应用
  • ASP+SMTP完成邮件群发功能-ASP教程,ASP应用
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭