ASP 投票系统所用技术小结
5:函数部分应用<%titleid=request.QueryString("titleid")callisid(titleid)settemp=conn.execute("select count(id) from [VoteTitle] where id="&titleid)iftemp(0)=0thenCallShowError("错误!")endifCallRsName(rs,"select a.id,a.selectitem,a.votecount,b.votetitle,b.webname from [VoteSelect] a inner join [VoteTitle] b on a.titleid=b.id where a.titleid="&titleid,1,1)dimtotal
total=0dowhilenotrs.eof
total=total+rs(2)
rs.movenextlooprs.movefirstiftotal=0thenCallShowErrorClose("尚无人投票!")endif%>【<ahref="javascript:window.close()">关闭窗口</a>】<%id=Cint(request.QueryString("id"))ifrequest.QueryString("action")="title"thenconn.execute("delete from [VoteSelect] where titleid="&id)
conn.execute("delete from [VoteTitle] where id="&id)endififrequest.QueryString("action")="select"thenconn.execute("delete from [VoteSelect] where id="&id)endifCallShowErrorTo("操作成功!","MyVote.asp")CallCloseConn()%>Code
1:函数页面:<%'L.C.H-001建立连接数据库记录FunctionRsName(Rs_Name,Sql,A,B)SetRs_Name=Server.CreateObject("Adodb.RecordSet")
Rs_Name.open Sql,conn,A,BEnd Function'************************************************************************'L.C.H-002释放记录集SubCloseRs()
rs.closesetrs=nothingEnd Sub'************************************************************************'L.C.H-003释放connSubCloseConn()
conn.closesetconn=nothingEnd Sub'************************************************************************'L.C.H-004显示错误提示且返回上一页FunctionShowError(a)
response.write("<script language=javascript>alert('"&a&"');javascript:history.go(-1)")
response.write("</script>")
response.end()End Function'************************************************************************'L.C.H-005显示错误提示且重新载入另一页FunctionShowErrorTo(a,b)
response.write("<script language=javascript>alert('"&a&"');")
response.write("this.location.href='"&b&"';</script>")
response.end()End Function'************************************************************************'L.C.H-006显示错误提示且关闭该窗口FunctionShowErrorClose(a)
response.write("<script language=javascript>alert('"&a&"');")
response.write("javascript:window.close();</script>")
response.end()End Function'************************************************************************'L.C.H-007分页调用FunctionPageGo(sql)
response.write"<table width='99%' border='1' align='center' cellPadding='0' cellSpacing='0' bordercolor='#71CC71' bgcolor='#E9F8E9' class='12'>"response.write"<form method=Post action='"&Myself&"?"&sql&"'>"response.write"<tr><td height='24' bordercolor='#E9F8E9'><div align='center'>"Ifcurrentpage>1Thenresponse.write"<a href='"&Myself&"?"&sql&"page="+cstr(1)+"'><font color='#ff0000'>首页</font></a><font color='#333333'><b>-</b></font>"Response.write"<a href='"&Myself&"?"&sql&"page="+Cstr(currentpage-1)+"'><font color='#ff0000'>前页</font></a><font color='#333333'><b>-</b></font>"ElseResponse.write"<font color='#333333'>首页-</font>"Response.write"<font color='#333333'>前页-</font>"EndifIfcurrentpage<rs.PageCountThenResponse.write"<a href='"&Myself&"?"&sql&"page="+Cstr(currentPage+1)+"'><font color='#ff0000'>后页</font></a><font color='#333333'><b>-</b></font>"Response.write"<a href='"&Myself&"?"&sql&"page="+Cstr(rs.PageCount)+"'><font color='#ff0000'>尾页</font></a> "ElseResponse.write"<font color='#333333'>后页-</font>"Response.write"<font color='#333333'>尾页</font> "EndifResponse.write"<font color='#333333'>页次:</font>"&"<font color=#ff0000 face='Geneva, Arial, Helvetica, sans-serif'>"&Cstr(CurrentPage)&"</font>"&"<font color='#333333' face='Geneva, Arial, Helvetica, sans-serif'>/"&Cstr(rs.pagecount)&"</font> "Response.write"<font color=#ff0000 face='Geneva, Arial, Helvetica, sans-serif'>"&Cstr(MaxPerPage)&"</font>"&"<font color='#333333' face='Geneva, Arial, Helvetica, sans-serif'>条/页 "&"共</font>"&"<font color=#ff0000 face='Geneva, Arial, Helvetica, sans-serif'>"&Cstr(rs.RecordCount)&"</font>"&"<font color='#333333'>条信息</font> "response.write"<font color='#333333'>转到:</font><input type='text' name='page' size=4 maxlength=4 class='Input' value="&Currentpage&"> "response.write"<input type='submit' value='转到' name='cndok' class='button'></span> "response.write"</div></td></tr></form></table>"End Function'************************************************************************'L.C.H-008禁止外部提交SubRemote()ifnot(instr(1,Request.ServerVariables("http_Referer"),Request.ServerVariables ("SERVER_NAME"),1)=8)thenCallShowError("参数错误!")endifend Sub'************************************************************************'L.C.H-010是否为数字FunctionIsDigit(a)ifisnumeric(a)=falsethenCallShowError("参数错误!")endifend Function'************************************************************************'L.C.H-011传递ID的有效性FunctionIsid(a)ifa=""orisnumeric(a)=falsethenCallShowError("参数错误!")endifend Function'************************************************************************'L.C.H-012关闭当前弹出窗口,并且刷新父窗口SubRefresh()
response.write("<script language='javascript'>")
response.write("alert('操作成功!');")
response.write("opener.location.reload();")
response.write("top.close();")
response.write("</script>")
response.end()end sub'************************************************************************'L.C.H-013打开弹出窗口,并且刷新父窗口SubRefresh2()
response.write("<script language='javascript'>")
response.write("opener.location.reload();")
response.write("</script>")end sub'************************************************************************%>2:asp中Response.Expires = -1
一般情况下,当用户请求WEB服务器时,服务器把请求回复给客户端。在客户端,浏览器把缓存作为一种加快速度的策略,就是当请求时先检查缓存的情况,如果有就直接调缓存了,而不请求服务器了。
在WEB程序设计中,有时为了防止重复的提交或者严格的次序等,必须让用户的数据立即在使用后就过期,当用户后退时就显示过期而不能继续使用。也算是为安全考虑的吧。
一般,response.expires写在页面的最上端,后面跟的是一个时间,就是过期的时间,0表示立即过期。
response.expires=1表示在1分钟后过期。
3:ASP的Round函数是4舍6入,5奇进偶不进
[
round(56.5)=56
但
round(57.5)=58
]
ASP的Round函数是4舍6入,5奇进偶不进,这样在一大堆需要四舍五入的数字相加时,可以减少误差增加精度,很多语言的round函数都是这样定义的。
56.5,小数5前是6,偶数,因此不进,舍为56。如果一定需要四舍五入的话,用类似int(n+0.5)的方法。
4:进度条,并显示百分比
}functionJM_cc(ob){varobj=MM_findObj(ob);if(obj) {
obj.select();js=obj.createTextRange();js.execCommand("Copy");}
alert("复制成功!")
}functionMM_findObj(n, d) {//v4.0varp,i,x;if(!d) d=document;if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}if(!(x=d[n])&&d.all) x=d.all[n];for(i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);if(!x&&document.getElementById) x=document.getElementById(n);returnx;
}//--></SCRIPT>调用时:<inputname="Button"type="button"class="button"value="点击复制代码"onClick="JM_cc('js_1')">js_1为一个<textarea<textarea cols="80"rows="8"class="input1"name="js_1"wrap=VIRTUAL><iframeborder="0"marginwidth="0"scrolling="No"marginheight="0"src="您网站的绝对地址/Vote/?id=<%=request("id")%>" width="200" height="200" frameborder="no"></iframe></textarea>
转载于:https://www.cnblogs.com/xocom/articles/asp.html
ASP 投票系统所用技术小结相关推荐
- SSM+基于Vue框架的在线投票系统的设计与实现 毕业设计-附源码221604
基于Vue框架的在线投票系统的设计与实现 摘 要 21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于在线投票系统也是十分常见的.过去使用手工的管理方式对在线投票系统进行管理,造成了 ...
- SSM+基于Vue框架的在线投票系统的设计与实现 毕业设计-附源码
基于Vue框架的在线投票系统的设计与实现 摘 要 21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于在线投票系统也是十分常见的.过去使用手工的管理方式对在线投票系统进行管理,造成了 ...
- (附源码)php网上投票系统 毕业设计 121500
基于PHP网上投票系统 摘 要 随着全球Internet的迅猛发展和计算机应用的普及,特别是近几年无线网络的广阔覆盖以及无线终端设备的爆炸式增长,使得人们能够随时随地的访问网络,以获取最新信息.参与网 ...
- (附源码)springboot在线投票系统 毕业设计 141307
基于springboot在线投票系统 摘 要 随着全球Internet的迅猛发展和计算机应用的普及,特别是近几年无线网络的广阔覆盖以及无线终端设备的爆炸式增长,使得人们能够随时随地的访问网络,以获取最 ...
- spring boot在线投票系统 毕业设计源码141307
基于springboot在线投票系统 摘 要 随着全球Internet的迅猛发展和计算机应用的普及,特别是近几年无线网络的广阔覆盖以及无线终端设备的爆炸式增长,使得人们能够随时随地的访问网络,以获取最 ...
- 基于Vue框架的在线投票系统的设计与实现毕业设计-附源码221604
摘 要 21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于在线投票系统也是十分常见的.过去使用手工的管理方式对在线投票系统进行管理,造成了管理繁琐.难以维护等问题,如今使用计算机对 ...
- (附源码)springboot网上投票系统 毕业设计 282018
基于springboot网上投票系统 摘 要 随着全球Internet的迅猛发展和计算机应用的普及,特别是近几年无线网络的广阔覆盖以及无线终端设备的爆炸式增长,使得人们能够随时随地的访问网络,以获取最 ...
- (附源码)spring boot网上投票系统 毕业设计 282018
基于springboot网上投票系统 摘 要 随着全球Internet的迅猛发展和计算机应用的普及,特别是近几年无线网络的广阔覆盖以及无线终端设备的爆炸式增长,使得人们能够随时随地的访问网络,以获取最 ...
- spring boot网上投票系统毕业设计源码282018
基于springboot网上投票系统 摘 要 随着全球Internet的迅猛发展和计算机应用的普及,特别是近几年无线网络的广阔覆盖以及无线终端设备的爆炸式增长,使得人们能够随时随地的访问网络,以获取最 ...
最新文章
- 使用postMan测试erp系统登录接口
- Android 编译系统模块 3
- 上传图片配置文件长度和宽度大小的说明
- android 开源 示波器,上个老外的开源虚拟示波器
- 使用Architecture Explorer分析应用程序及使用层次图
- [转载]如何限制一个类对象只在栈(堆)上分配空间?
- 2018杭州电子科技大学计算机研究生复试笔试编程题第三题
- 【几何/数学】概念的理解 —— (非)刚体变换((non-)rigid transformation)
- 物料编码是计算机识别和检索物料的( ),物料编码是计算机识别和检索物料的
- Task04 Python操作PDF
- 通信原理SNR EbN0 EsN0理解
- 4种实现Web前端可视化的常用方法
- [ 人力资源面试篇 ] 应届生 “ HR 面 “ 面试分析
- 关于增量模型和迭代模型的区别
- ANTLR4(二) Vistor Listener
- I-Deas TMG 培训资料 (1)
- P2P网贷平台资金存管深度介绍
- 如何使用wpa_supplicant及wpa_cli 创建p2p
- 应届毕业生的月薪11K,了解一下(学员感言)
- 判断vector中是否存在某元素的多种方法
热门文章
- GMM_example(1)
- 使用Python操作MySQL数据库
- Sword STL迭代器prev,next相关函数
- ArrayListLinkedList 性能比较
- UIView的layoutSubviews和drawRect方法何时调用
- 20150127--Session入库
- SQL中JOIN 的用法
- 马尔可夫“折棍子”过程 Markovian Stick-breaking Process 简介
- UA MATH523A 实分析3 积分理论例题 控制收敛定理计算一元积分的极限
- Julia程序设计3 数组2 排序、复制、集合运算、字典