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