< % '下面的if语句是通过验证selected是否为空来判断用户是否作了选择 if request.form("options") < >Empty then % >
< % '下面的if语句是通过比较Request的两个collection(ServerVariables和Cookies)的值 '来防止用户连续按提交而影响调查的结果 if not Request.ServerVariables("REMOTE_ADDR")=request.cookies("IPAddress") then '把访问客户的IP信息写入Cookies response.cookies("IPAddress")=Request.ServerVariables("REMOTE_ADDR") % > < % '建立连接(Connection)对象,打开记录调查结果的数据库 set conn=server.createobject("ADODB.CONNECTION") conn.open "researchdb" % >
< % '定义变量 dim rs dim sql dim selected selected=request.form("options") '建立记录集合(Recordset)对象,用方法Open打开对象,同时修改对应的数据 set rs=server.createobject("adodb.recordset") '修改数据表ressearch中的数据,即对应的投票数增加1 sql="update research set select"&selected&"=select"&selected&"+1 where id=1" rs.open sql,conn,3,3 '从内存中清除记录集合对象 set rs=nothing '关闭连接 conn.close '从内存中清除连接对象 set conn=nothing '连接到浏览调查结果的页面 response.redirect "viewresult.asp" else Response.write "投票失败提示:您刚才已投了票,谢谢您的支持!" end if else Response.write "投票失败提示:您忘记选择了!" end if % >
viewresult.asp < % set conn=server.createobject("ADODB.CONNECTION") conn.open "researchdb" % > < % dim rs dim sql dim select1 dim select2 dim select3 dim select4 dim select5 dim select6 dim select7 dim total set rs=server.createobject("adodb.recordset") sql="select * from research where id=1" rs.open sql,conn,1,1 total=rs("select1")+rs("select2")+rs("select3")+rs("select4")+rs("select5")+rs("select6")+rs("select7") '判断总票数是否为0,确保下面的除法有效 if total > 0 then select1=(rs("select1")/total)*100 select2=(rs("select2")/total)*100 select3=(rs("select3")/total)*100 select4=(rs("select4")/total)*100 select5=(rs("select5")/total)*100 select6=(rs("select6")/total)*100 select7=(rs("select7")/total)*100 % > < p >谢谢您的参与,下面是当前的调查结果 < p > ◇知识: < img src=bar.gif width=< %=int(select1*5)% > height=4 > < %=rs("select1")% >人 占:< %=round(select1,2)% >%< br > ◇学历: < img src=bar.gif width=< %=int(select2*5)% > height=4 > < %=rs("select2")% >人 占:< %=round(select2,2)% >%< br > ◇金钱: < img src=bar.gif width=< %=int(select3)*5% > height=4 > < %=rs("select3")% >人 占:< %=round(select3,2)% >%< br > ◇爱情: < img src=bar.gif width=< %=int(select4)*5% > height=4 > < %=rs("select4")% >人 占:< %=round(select4,2)% >%< br > ◇理想: < img src=bar.gif width=< %=int(select5)*5% > height=4 > < %=rs("select5")% >人 占:< %=round(select5,2)% >%< br > ◇民主意识: < img src=bar.gif width=< %=int(select6)%*5 > height=4 > < %=rs("select6")% >人 占:< %=round(select6,2)% >%< br > ◇科学思想: < img src=bar.gif width=< %=int(select7)%*5 > height=4 > < %=rs("select7")% >人 占:< %=round(select7,2)% >%< /p >
< p align="center" >已经有:< %=total% >人参加调查< br >< br > 【< a href="javascript:window.close()" >关闭窗口< /a >】< /p > < p > < % else response.write "还没有人参与调查" end if rs.close set rs=nothing conn.close set conn=nothing % >
附注: 以上代码均在 WindowsNT4.0中文(Pack 6)/IIS4.0上调试通过。 以下任何一种环境都可执行ASP: 一、Windows NT Server 4.0 / IIS3.0以上 二、Windows NT WorkStation 4.0 / Microsoft Peer Web Service3.0以上 三、Windows 95/98 / Microsoft Personal Web Server 1.0a以上