< %
'下面的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以上