,添加失败!"
Else
Conn.Execute("UpdateVoteItemsetItem='"&newTitle&"'whereId="&cint(Operid))
Response.Write"投票项目已经成功修改!"
EndIf
EndIf
ElseIfSoperate="delete"Then'删除项目
sqldelt="DeletefromVoteItemWhereIdIN("&Cstr(Operid)&")"
Conn.Execute(sqldelt)
Response.Write"投票项目已经成功删除!"
EndIf
%>
删除项目
functionsltAll()
{
varnn=self.document.all.item("dept");
for(j=0;j
<%=voters("item")%>
height=10>
<%=Cstr(FormatNumber(voters("voteCount")/itotal*100,0))%>%
<%=voters("voteCount")%>
<%
voters.MoveNext
Loop
%>
<%
'收集需要统计的信息
theurl="http://"&Request.ServerVariables("http_host")&Request.ServerVariables("url")
vSoft=Request.ServerVariables("HTTP_USER_AGENT") 'IIS版本
vRef=Request.servervariables("HTTP_REFERER") '访问前的网址
'取得客户端的真实IP地址
vIP=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
IfvIP=""Then
vIP=Request.ServerVariables("REMOTE_ADDR")
EndIf
vExplorer=Browser(vSoft) '浏览器
vOS=System(vSoft) '操作系统
vDateTime=DateTimeFormat(now(),1)&""&DateTimeformat(now(),6)'访问的时间
IfvRef=""Then
vRef="直接输入或书签导入"
EndIf
%>
图4-5重复投票提示框
图4-6投票结果百分比显示
数据导入
图4-7投票生成图
4.4用户管理模块的设计
4.4.1管理员登录
1、设计管理员登录表单
管理员登录表单由以下3部分组成[1]:
·文本框--用来输入用户名。
·密码框--用来输入密码。
·提交和重填按钮。
2、验证管理员的用户和密码
验证管理员的用户和密码的步骤如下:
(1)使用Request对象的Form集合得到用户输入的用户名和密码代码如下:
<%
dimuser_id,user_password
user_id=request("user_id")
user_password=request("user_password")
%>
(2)建立数据库连接,代码与前面连接数据库的代码相同。
(3)查询在数据库中是否存在用户输入的用户名。要判断数据库中是否存在
用户输入的用户名,可以在表"classuser"中统计user_id字段的内容与用户输入的用户名相匹配的记录总数,如果为0,表示用户名错误,提示用户重新输:如果不为0,说明用户名存在,然后进入验证密码步骤。实现代码如下:
<%
cmd.CommandText="SelectCOUNT(*)FromclassuserWhereuser_idlike'"+user_id+"'"
Setrs=cmd.Execute
Ifrs(0).ValueThen
Response.Write"无效的用户名"
Response.Write"重新输入"
Else
'验证密码
EndIf
%>
(4)验证用户名密码是否正确。验证的方法是在数据库中查出用户输入的用户名的密码,然后与用户输入的密码相比较。如果相同则表示用户输入的密码正确,否则表示用户输入的密码错误。代码如下:
<%
cmd.CommandText="Selectuser_passwordFromclassuserWhereuser_idlike'%"+user_id+"%'"
Setrs=cmd.Execute
'response.writers("user_password").Value
IfRtrim(rs(0).Value)=user_passwordThen
Session("logined")=1
Response.Redirect"class.asp"
在这段程序中,使用Session对象的logined变量来记录用户是否登录成功,当logined变量为1,表示登录成功,变量为0则表示登录失败。由于在数据库中查询到的密码的右边是包含空格符的,在密码验证时要使用函数Rtrim把空格符过滤掉。图4-7为用户登录页面。
图4-8用户登录页面
4.4.2修改密码
为了保证数据库的安全,有时需要修改用户的密码,管理员可以通过修改密码的功能将系统的密码修改为自己喜欢或者容易记忆的密码。
1、设计修改密码表单
修改密码表单由以下几部分组成。
·文本框--用来输入用户名。
·密码框--用来输入原密码。
·密码框--用来输入新密码。
·密码框--用来验证新密码。
·提交和重填按钮。
2、在数据库中修改管理员密码
在数据库中修改管理员密码的步骤如下:
(1)使用Request对象的Form集合得到用户输入的信息,这些信息包括用户名、原密码、新密码和确认新密码。代码如下:
<%
dimuser_id,old_password,new_password1,new_password2
user_id=request("user_id")
old_password=request("old_password")
new_password1=request("new_password1")
%>
(2)判断新密码和确认新密码是否相符,如果不相符,提示用户输入错误并重新生成表格。代码如下:
<%
ifnew_password1<>new_password2then
response.write"两次密码输入有误!"
response.write"重新输入!"
else
endif
%>
(3)连接数据库并检查用户名和原密码是否正确,代码与前面连接数据库的代码相同。
(4)使用SQL语句修改密码,代码如下:
<%
cmd.CommandText="UPDATEclassuserSETuser_password='"&new_password1&"'WHEREuser_idlike'"&user_id&"'"
cmd.Execute
%>
结论
本文详细阐述了在线投票系统的设计(包括功能模块设计、数据库结构设计等),并实现了投票系统的主要生成百分比功能及其它功能。采用了大型数据库,适合大批量数据的处理,使教师从烦琐的手工操作中解放出来,把大量的重复性工作交给计算机去做,提高了工作效率。
目前,该在线投票系统还有不少问题需要进一步解决。譬如,在投票选项可以划分得更详细一些,另外可以授予不同用户以不同的系统使用权限(这可以通过在每一功能模块进入前增加身份判断来完成),可以满足更多的条件。
该系统在界面设计上比较粗糙,整体页面布局不够美观。
对于计算机专业的我来说并没有多少系统设计的经验,所以在编码过程中发现自己原来的很多想法并不能很好地实现。希望在以后的工作中不断学习,完善该系统的功能,使它更加人性化。
致谢
本文是在我的导师老师的悉心指导下完成的,在系统的研制过程中,从系统分析设计到具体实现,导师都给予了具体、细致的指导。刘亮老师平易近人的作风、对知识的敏锐思维、严谨治学的风范和孜孜不倦的科研精神永远都是我学习的榜样。
向所有关心和帮助过我的老师、同学和朋友表示最诚挚的谢意!
参考文献
[1]求是科技.ASP数据库开发技术与工程实践.北京:人民邮电出版社,2004.5
[2]AspCool.ASP运行环境搭建.ASP酷网动力论坛-ASP专栏,2006.5
[3](美)奈伯格(Naiburg,E.J.),(美)美克斯琼克(Maksimchuk,R.A.)著;陈立(美)EricJ.Naiburg,RobertA.Maksimchuk.使用UML-关于对象和组件软件工程.北京:人民邮电出版社,2002.11
[4]玄伟剑.中文版DreamweaverMX设计与提高.上海:上海科学普及出版社,2004.9
[5]熊卫卫.网络投票系统设计与实现.吉林大学学报,2004.1
[6]杨文杰、王克蒙、刘浩学.管理信息系统的开发.北京印刷学院学报,2003.3
[7]AspCool.利用ASP实现打印功能.ASP酷网动力论坛-ASP专栏,2006.5
[8]宋振会.MicrosoftOfficeAccess2003中文版基础教程.北京:清华大学出版社,2005.5
[9]飞思科技产品研发中心.ASP&MicrosoftOfficeAccess2003网站设计与实现.北京:电子工业出版社,2001.3
[10]王易.ASP网站设计实例通.北京:清华大学出版社,2002.1
论文附件
一、英文原文
Understandingmulticaststations
AstationisusedtomulticastanASFstreamtoaclient,specificallyMicrosoftWindowsMediaPlayer.Multicastingminimizesthenetworkbandwidthused.IfclientsdonotusethestationtoreceivetheASFstream,theneachclientrequiresitsownconnectiontoaserver.Thisquicklyconsumesnetworkbandwidthandlimitstheabilityofthenetworktodeliverinformation.
Distributionmodeisastationcharacteristicthatdefineswhetherastationistobeusedformulticasting,distribution,orboth.
* MulticaststationsdeliverASFstreamstomanyclientsbutuseonlythebandwidthofasinglestream.
* DistributionstationsdeliverASFstreamstootherWindowsMediaserversviaunicast.AstationthatissolelyadistributionstationdoesnothaveanIPaddressorport,soclientscannotviewthestreamthatthestationdelivers.
* StationsenabledformulticastanddistributiondeliverASFstreamstootherWindowsMediaserversviaunicast.ClientscanalsoviewtheASFcontentonthisstationviamulticast.
AstationcontainsalltheinformationneededtodeliveranASFstreamtoWindowsMediaPlayer,includingIPaddress,port,streamformat,time-to-live(TTL)value,andsoon.Thisinformationisstoredinan.nscfile.
WindowsMediaPlayermustbeabletoaccessthe.nscfilesothatitcanlocatetheIPaddressthatthestationisusingtostreamASFcontent.The.nscfileistypicallymadeavailabletoWindowsMediaPlayerfromasharednetworkdirectoryorfromaWebserverdirectory.WindowsMediaPlayerextractstheURLtothe.nscfilewhenitopensanannouncementthatisdeliveredtoitinanemailmessage,viaUNCpath,orfromaWebpagelink.
TheMulticastStationspageinWindowsMediaAdministratoristheaccesspointforcreatingandmanagingstations.Thispagealsoprovidesaninterfacefororganizingstreamsintotheprogramsdeliveredonthestationsyoucreate.
Understandingdistributionstations
Adistributionstationisahelperstation.ItdeliversanASFstreamfromWindowsMediaserverAtoastationonWindowsMediaserverBsothatWindowsMediaserverBcanmulticastthatASFcontent.Adistributionstationprovidesawayto:
* Distributeastreambetweennetworksegmentsthatarenotconnectedbymulticast-enabledrouters.
* Distributeastreampastafirewall.
Otherstationsaccessthedistributionstationbycreatingaconnectiontothedistributionstation.nscfileusingtheMSBDprotocol.Forexample,ifyouwantStation2onServerBtomulticasttheASFcontentfromdistributionstation,Station1onServerA,youuseStation1asthestreamsource.Thatis,thestreamsourceforStation2ismsbd://ServerA/Station1.
N
上一篇:ASP房产信息管理系统(论文和程序)
下一篇:pbl在软件工程课程教学中的研究与应用