投票系统课程设计文档格式.docx
《投票系统课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《投票系统课程设计文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
设计中包括登录模块和投票模块,则数据库有用户表(users)和候选人表(hxr),用户表(users)包含用户账号(ID)、密码(Psw)、权限(Power)和投票记录(Pw_num)。
登陆页面时,若Power=1,则进入管理员页面,若Power=0,则进入普通用户页面。
投票记录原始值均为0,当进行投票后,则自动更新成1,则不能再次投票,如下建立数据库:
3详细设计
3.1模块功能说明
系统包括大模块:
登录模块,普通用户模块和管理员模块三块,其中普通用户模块包括投票模块和投票结果查看模块,管理员模块包括修改与删除候选人信息模块和添加候选人模块。
3.2登录模块
3.3投票模块
3.4管理员模块
4系统实现
4.1录入模块
4.2投票模块
每次必须选择五名候选人,多选、少选、不选均不能成功:
每个用户只能投一次票,当再次投票时则显示:
4.3管理员模块
编辑与删除:
查看结果:
总结
经过一周的时间,在同学和老师的帮助下,基本完成本次课程设计,基本完成了在线投票的功能要求。
这次课程设计课程设计给我的最大的印象是:
基本知识是一切的根本;
架构很重要的,比想像的还要重要;
实践比一切空谈和理论更能学到东西。
从做这个课程设计开始无论遇到什么困难,我都没有一丝的放弃的念头。
在设计过程中一定要慎重,仔细。
来不得半点马虎。
布局是整个课程设计的中心,考虑要全面,分析彻底。
才会为后来的设计打下良好的基础。
否则,前功尽弃,甚至不能完成任务。
从这次课程设计中我也学到了很多,掌握了常用数据库方面的知识,也进一步学习了SQLServer2005和VisualStudio2005的使用,更重要的是,它不仅培养了我独立思考、动手操作的能力,在各种其它能力上也都有了提高,让我们学会了很多学习的方法。
而这是日后最实用的。
最后,感谢老师的耐心指导和同学的帮助,没有你们的无私教导和帮助,就没有今天的我的设计的实现,衷心感谢你们!
通过此次课程设计,我掌握了常用数据库方面的知识,也进一步学习了SQLServer2005和VisualStudio2005的使用,更重要的是,它不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高,让我们学会了很多学习的方法。
在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查调试终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。
面对社会的挑战,只有不断的学习、实践,再学习、再实践。
以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。
实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。
果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。
此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就一定能解决问题。
参考文献:
[01]闫洪亮.Asp.Net程序设计案例教程[M]:
北京.北京大学出版社.2010.1
[02]郝兴伟.Web程序设计[M]:
北京.中国水利水电出版社.2008
附录A:
主要源程序
网上投票系统源程序
(1)登录
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclass_Default:
System.Web.UI.Page
{
protectedvoidButton1_Click(objectsender,EventArgse)
{
Stringstr_ID=user.Text;
SqlConnectioncn=DB.createCon();
cn.Open();
stringstrsql="
select*fromuserswhereID='
"
+user.Text+"
'
andPsw='
+psw.Text+"
;
SqlCommandcm=newSqlCommand(strsql,cn);
SqlDataReaderdr=cm.ExecuteReader();
if(dr.Read())
Session["
ID"
]=dr["
];
Power"
Psw"
]=dr["
if((int)Session["
]==0)
Response.Redirect("
普通用户页面.aspx"
);
}
elseif((int)Session["
]==1)
管理员页面.aspx"
else
Label1.Text="
对不起,登录失败!
!
cn.Close();
}
(2)投票
usingSystem;
usingSystem.Collections;
publicpartialclass投票页面:
intcheck_num=0;
SqlConnectionMyConn=DB.createCon();
protectedvoidPage_Load(objectsender,EventArgse)
stringstr2="
selectNamefromhxrwhereID='
+Session["
]+"
MyConn.Open();
SqlCommandcomm=newSqlCommand(str2,MyConn);
CheckNum();
MyConn.Close();
protectedvoidCheckNum()
foreach(System.Web.UI.WebControls.GridViewRowrowinthis.GridView1.Rows)
CheckBoxchk=(CheckBox)row.FindControl("
CheckBox1"
if(chk.Checked==true)
check_num=check_num+1;
if(chk.Checked==false)
check_num=check_num-1;
protectedvoidvote()
if(check_num==0)
Response.Write("
<
scriptlanguage=javascript>
alert('
候选人不能为空,请你选择候选人!
)<
/script>
return;
if(check_num!
=5)
只能选择5位候选人!
if(check_num==5)
//MyConn.Open();
foreach(System.Web.UI.WebControls.GridViewRowdlinthis.GridView1.Rows)
CheckBoxchk=(CheckBox)dl.FindControl("
stringID=dl.Cells[1].Text.ToString();
stringstr1="
updatehxrsetvote=vote+1whereID='
+ID+"
stringstr="
updateuserssetPw_num=1whereID='
SqlCommandMyComm=newSqlCommand(str1,MyConn);
SqlCommandMyComm1=newSqlCommand(str,MyConn);
MyComm.ExecuteNonQuery();
MyComm1.ExecuteNonQuery();
MyConn.Close();
投票成功!
javascript:
location.href='
+"
投票页面.aspx"
+"
protectedvoidButton1_Click1(objectsender,EventArgse)
+Session["
]+"
andPsw='
+Session["
"
SqlCommandcomm=newSqlCommand(str,MyConn);
SqlDataReaderdr1=comm.ExecuteReader();
if(dr1.Read())
{
if((int)dr1["
Pw_num"
]==1)
scriptlanguage=Javascript>
您已投过票,不能重复投票!
else
vote();