没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2009-05-25 14:32:18.000|阅读 497 次
概述:看了不少介绍,知道set rs=conn.execute(sql)的执行效率比rs.open sql,conn,1,1要高很多,但是set rs=conn.execute(sql)这种执行方式也有很多不足,首先它不具有分页属性,比如rs.pagesize,rs,absolutepage等属性,这样的话,通过这种方式set rs=conn.execute(sql)执行的速度虽然快了,但是却不能按普通方式进行分页,怎么办呢??
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
看了不少介绍,知道set rs=conn.execute(sql)的执行效率比rs.open sql,conn,1,1要高很多,但是set rs=conn.execute(sql)这种执行方式也有很多不足,首先它不具有分页属性,比如rs.pagesize,rs,absolutepage等属性,这样的话,通过这种方式set rs=conn.execute(sql)执行的速度虽然快了,但是却不能按普通方式进行分页,怎么办呢??
第二天,查了一下网上的资料,突然想到是否可以把所需数据提到一个数组里,然后对数组进行分页呢?首先把set rs=conn.execute(sql)查询出来的结果通过rs.getrows()取出来附给一个数组,于是我就在各网站上找分页的帖子,虽然发现不少高效率分页的帖子(包括存储过程等),可结果发现全都是需要通过SQL执行的,即翻页的时候也需要执行SQL语句,此时头都晕了,优化的也只是SQL语句,此时实在没办法,只好自己努力了!终于完成了一个数组分页的粗稿,代码不是很完善,让大家一起来研究一下!代码如下:
首先有一个index.asp查询页:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<FORM id="SearchForm" name="SearchForm" method="post" action="search.asp?act=cha">
<div class=input>
<input id=keyword onmouseover=this.focus() title="快速搜索您的留言记录" onfocus=this.select() class="in" maxlength=35 name=keyword />
<select style="width:120px;margin-top:-25px" name="ChannelID">
<option value="k2">留言人</option>
<option value="k1">留言内容</option>
</select>
<Input id=search_btn type=submit value="查询">
</div>
</FORM>
</body>
</html>
search.asp的代码:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<% If request.querystring("act")="cha" Then search_type=request.FORM("ChannelID") keywords=request.form("keyword") if search_type="k1" then '按照留言内容搜索 sql="select * from gbook_rec where g_content like '%"&keywords&"%'" ElseIf search_type="k2" then 'if search_type="k2" then '按照留言人搜索 sql="select * from gbook_rec where g_name like '%"&keywords&"%'" Else response.end end If Set rs=conn.execute(sql) If rs.eof And rs.bof Then %>
<div class="search">没有查找到您要的记录!</div>
<% response.End Else aResults=rs.getrows()'取出数据放入数组ROW中 application("data")=aResults Set rs=nothing conn.close '关闭数据库 End IF End If aResults=application("data") Dim i,row,pagesize,epage,numb,pagecount,fenye numb=UBound(aResults,2)+1 '总记录行数 pagesize=2 '每页条数 If numb Mod pagesize = 0 Then '判断总页数 pagecount=Int(numb/pagesize) Else pagecount=Int(numb/pagesize)+1 End If epage=request.querystring("page") If epage="" Then epage=1 For i=(epage-1)*pagesize To epage*pagesize-1 If i>UBound(aResults,2) Or i<0 Then Exit for %>
<div class="content">
<ul>
<li>记录<%=i+1%></li>
<li>留言人:<%=aResults(1,i)%></li>
<li>内容:<%=aResults(2,i)%></li>
<li>时间:<%=aResults(3,i)%></li>
<li>IP:<%=aResults(5,i)%></li>
</ul>
</div>
<% Next If numb>pagesize Then fenye="<a href=search.asp?page=1>首页</a> " fenyefenye=fenye&"<a href=search.asp?page="&epage-1&" title="&epage-1&">前页</a> " fenyefenye=fenye&"<a href=search.asp?page="&epage+1&" title="&epage+1&">后页</a> " fenyefenye=fenye&"<a href=search.asp?page="&pagecount&">末页</a> " fenyefenye=fenye&"<BR>" fenyefenye=fenye&"总页数"&pagecount&",当前页"&epage&",总记录为:"&numb response.write fenye End if %>
</body>
</html>
总结:本人认为以上代码除了初次查询需要连接到数据库外,其他时间都不需要连接数据库,对于大型数据查询或连接人数比较多的时候对资源节省还是很有用处理的!另外将查询数组保存在application对象上,还可以根据application( "data")("username")来判断某人查询过什么,不过此代码为初次模型,还有待今后大家一起努力改进!希望大家都顶力关注支持,谢谢!
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:网络转载面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号