投票系统课程设计
- 格式:doc
- 大小:1.21 MB
- 文档页数:16
摘要:在积极建立科学管理机制的今天,仅仅靠原始的手工管理或简单的单机管理,管理部门面对大量的信息,无法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。
投票管理者的决策只能依据手工表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。
因此,先进的管理思想就成为了一个可望而不可及的目标。
投票非常急需一套既有先进管理思想的系统,作为实现目标和提高现有投票管理水平的一种重要手段。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,在先进的计算机技术、通信技术、控制技术及IC卡技术基础上,采用系统集成方法,逐步建立一个智能化的投票系统。
关键词 ASP 投票数据库目录1设计目的 (1)2 总体设计 (1)2.1程序设计组成框图 (1)2.3数据库分析与设计 (1)3 详细设计 (3)3.1模块功能说明 (3)3.2登录模块 (3)3.3投票模块 (4)3.4管理员模块 (5)4 系统实现 (6)4.1录入模块 (6)4.2投票模块 (7)4.3管理员模块 (8)总结 (9)附录A: 主要源程序 (11)1设计目的系统开发目的:网络在线投票是目前网上比较常见的一个功能,利用此功能可以在互联网上直接投票,并即时查看投票结果。
利用此系统,用户投票比较方便并且用户还可以查看并分析投票结果,从中获得对自己有用的信息。
对我们而言,通过编制一个小型网络应用程序的课程设计,使我们巩固所学的的理论知识,把所学的理论知识应用于实际问题,培养综合运用所学知识解决实际问题的能力。
初步掌握设计一个网上应用程序的思路、方法、步骤。
巩固所学的有关知识,培养有关技能。
2 总体设计2.1程序设计组成框图2.3数据库分析与设计设计中包括登录模块和投票模块,则数据库有用户表(users)和候选人表(hxr),用户表(users)包含用户账号(ID)、密码(Psw)、权限(Power)和投票记录(Pw_num)。
登陆页面时,若Power=1,则进入管理员页面,若Power=0,则进入普通用户页面。
投票记录原始值均为0,当进行投票后,则自动更新成1,则不能再次投票,如下建立数据库:3 详细设计3.1 模块功能说明系统包括大模块:登录模块,普通用户模块和管理员模块三块,其中普通用户模块包括投票模块和投票结果查看模块,管理员模块包括修改与删除候选人信息模块和添加候选人模块。
3.2 登录模块4 系统实现4.1录入模块4.2 投票模块每次必须选择五名候选人,多选、少选、不选均不能成功:每个用户只能投一次票,当再次投票时则显示:4.3管理员模块编辑与删除:查看结果:总结经过一周的时间,在同学和老师的帮助下,基本完成本次课程设计,基本完成了在线投票的功能要求。
这次课程设计课程设计给我的最大的印象是:基本知识是一切的根本;架构很重要的,比想像的还要重要;实践比一切空谈和理论更能学到东西。
从做这个课程设计开始无论遇到什么困难,我都没有一丝的放弃的念头。
在设计过程中一定要慎重,仔细。
来不得半点马虎。
布局是整个课程设计的中心,考虑要全面,分析彻底。
才会为后来的设计打下良好的基础。
否则,前功尽弃,甚至不能完成任务。
从这次课程设计中我也学到了很多,掌握了常用数据库方面的知识,也进一步学习了SQL Server2005和Visual Studio 2005的使用,更重要的是,它不仅培养了我独立思考、动手操作的能力,在各种其它能力上也都有了提高,让我们学会了很多学习的方法。
而这是日后最实用的。
最后,感谢老师的耐心指导和同学的帮助,没有你们的无私教导和帮助,就没有今天的我的设计的实现,衷心感谢你们!通过此次课程设计,我掌握了常用数据库方面的知识,也进一步学习了SQL Server2005和Visual Studio 2005的使用,更重要的是,它不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高,让我们学会了很多学习的方法。
而这是日后最实用的。
在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查调试终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。
面对社会的挑战,只有不断的学习、实践,再学习、再实践。
以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。
实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。
果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。
此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就一定能解决问题。
参考文献:[01]闫洪亮程序设计案例教程[M]:北京.北京大学出版社. 2010.1[02]郝兴伟.Web程序设计[M]:北京.中国水利水电出版社. 2008附录A: 主要源程序网上投票系统源程序(1)登录using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class_Default : System.Web.UI.Page{protected void Button1_Click(object sender, EventArgs e){String str_ID = user.Text;SqlConnection cn = DB.createCon();cn.Open();string strsql = "select * from users where ID ='" + user.Text + "' and Psw ='" +psw.Text+ "'";SqlCommand cm = new SqlCommand(strsql, cn);SqlDataReader dr = cm.ExecuteReader();if (dr.Read()){Session["ID"]=dr ["ID"];Session["Power"]=dr ["Power"];Session["Psw"] = dr["Psw"];if((int)Session["Power"]==0){Response.Redirect("普通用户页面.aspx");}else if ((int)Session["Power"]==1){Response.Redirect("管理员页面.aspx");}else{Label1.Text = "对不起,登录失败";}cn.Close();}}}(2)投票using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class投票页面 : System.Web.UI.Page{int check_num = 0;SqlConnection MyConn = DB.createCon();protected void Page_Load(object sender, EventArgs e){string str2 = "select Name from hxr where ID='" + Session["ID"] + "'"; MyConn.Open();SqlCommand comm = new SqlCommand(str2, MyConn);CheckNum();MyConn.Close();}protected void CheckNum(){foreach (System.Web.UI.WebControls.GridViewRow row inthis.GridView1.Rows){CheckBox chk = (CheckBox)row.FindControl("CheckBox1");if (chk.Checked == true){check_num = check_num + 1;if (chk.Checked == false){check_num = check_num - 1;}}}}protected void vote(){if (check_num == 0){Response.Write("<script language=javascript>alert('候选人不能为空,请你选择候选人!')</script>");return;}if (check_num != 5){Response.Write("<script language=javascript>alert('只能选择5位候选人!')</script>");return;}if (check_num == 5){// MyConn.Open();foreach (System.Web.UI.WebControls.GridViewRow dl inthis.GridView1.Rows){CheckBox chk = (CheckBox)dl.FindControl("CheckBox1");if (chk.Checked == true){string ID = dl.Cells[1].Text.ToString();MyConn.Open();string str1 = "update hxr set vote=vote+1 where ID='" + ID + "'";string str = "update users set Pw_num =1 where ID='" + Session["ID"] + "'";SqlCommand MyComm = new SqlCommand(str1, MyConn);SqlCommand MyComm1 = new SqlCommand(str, MyConn);MyComm.ExecuteNonQuery();MyComm1.ExecuteNonQuery();MyConn.Close ();Response.Write("<script language=javascript>alert('投票成功!')</script>");Response.Write("<scriptlanguage=javascript>javascript:location.href='"+" 投票页面.aspx"+"'</script>");}}}}protected void Button1_Click1(object sender, EventArgs e){string str = "select * from users where ID ='"+ Session["ID"]+"' and Psw='"+Session["Psw"]+"' ";MyConn.Open();SqlCommand comm = new SqlCommand(str, MyConn);SqlDataReader dr1= comm.ExecuteReader();if (dr1.Read()){if ((int)dr1["Pw_num"] == 1){Response.Write("<script language=Javascript>alert('您已投过票,不能重复投票!')</script>");}else{MyConn.Close();vote();}}}}。