基于Net的三成架构的网上评分系统课程设计报告书_第1页
基于Net的三成架构的网上评分系统课程设计报告书_第2页
基于Net的三成架构的网上评分系统课程设计报告书_第3页
基于Net的三成架构的网上评分系统课程设计报告书_第4页
基于Net的三成架构的网上评分系统课程设计报告书_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 PAGE22 / NUMPAGES26 Web技术与开发(ASP.NET)课程设计说明书设 计 题 目: 网上投票系统 指 导 老 师:学 生 学 号:学 生 姓 名:同 组 人:时 间: 201 年 月 日 摘 要随着网络技术的迅速发展传统的投票方式已经不能满足人们的需要。而网上投票系统除了能够完成传统的功能之外,更具有时效高和围广的优点更符合现代社会的需要。 网上投票系统的设计是采用ASP.Net和SQL Server2005技术开发的简易投票系统并在用户登陆过程中设置动态验证码提高系统的安全性。它实现了以下功能:投票、结果查看、增加、删除等。本次课程设计首先介绍了网上投票系统的概念与和

2、适用围。在系统开发环境中主要对ASP、SQL与系统总体设计作了详尽的介绍。接着通过E-R图说明数据库的搭建和数据库的设计。然后介绍了本系统的总体设计包括系统结构和总体功能设计。论文以功能模块图的形式说明了功能的设计并给出了部分核心代码与主要功能界面图。投票系统概括起来就是要通过科学的管理手段和专业化管理技术来实现统一。网上投票系统应具有以下功能:其一方便的操作。原有的手工投票管理基本上是人工操作效率低下,缺乏方便性,在线管理系统运用计算机和其他附加设备,不再需要手工操作基本上是全自动化,能够节省人力、最大限度地利用各种宝贵的资源,大大的提高了效率。 其二友好的界面。友好的用户界面会给人一种亲切

3、感,在使用起来不会觉得繁琐。用户只需在线登陆点击投票而且可以直接点击查看投票的统计结果。 其三强大的功能。后台管理员可以创建、删除、修改投票候选人、并统计投票结果。 本设计正是基于这样的功能要求展开设计的。 本系统的研究容主要有两部分,具体如下:1、数据库设计。基于SQL并根据需求进行数据库表的设计。 2、功能模块的实现。主要包括功能界面的设计和后台实现。 本网上投票系统的开发,遵循了自上而下的开发方式,即从整体到局部,从抽象到具体,从概要设计到详细设计,从而体现结构化的设计思想。贯穿开发过程的方法是:瀑布模型、生命周期方法学、面向对象方法的结合。这也是目前较为行之有效的开发方法。 在进行网上

4、投票系统的开发时,用到了许多计算机方面的相关技术,其中也用到了许多新的开发技术和方法,这些也是完成系统开发的关键性技术,最主要的是:ASP技术、三层应用系统框架结构、SQL数据库技术等。关键词: 网上投票系统; ASP; SQL目 录 TOC o 1-3 h z HYPERLINK l _Toc327530239摘要 PAGEREF _Toc327530239 h IHYPERLINK l _Toc327530240第1章设计目的 PAGEREF _Toc327530240 h 1HYPERLINK l _Toc3275302411.1 设计目的 PAGEREF _Toc327530241 h

5、 1HYPERLINK l _Toc327530242第2章总体设计 PAGEREF _Toc327530242 h 2HYPERLINK l _Toc3275302432.1程序设计组成框图 PAGEREF _Toc327530243 h 2HYPERLINK l _Toc3275302442.2流程图 PAGEREF _Toc327530244 h 4HYPERLINK l _Toc3275302452.3关系图 PAGEREF _Toc327530245 h 5HYPERLINK l _Toc3275302462.4数据库分析与设计 PAGEREF _Toc327530246 h 5HY

6、PERLINK l _Toc327530247第3章详细设计 PAGEREF _Toc327530247 h 6HYPERLINK l _Toc3275302483.1 模块功能说明 PAGEREF _Toc327530248 h 6HYPERLINK l _Toc3275302493.2 登录模块 PAGEREF _Toc327530249 h 6HYPERLINK l _Toc3275302503.3 投票模块 PAGEREF _Toc327530250 h 8HYPERLINK l _Toc3275302513.4 排序模块 PAGEREF _Toc327530251 h 12HYPER

7、LINK l _Toc3275302523.5 系统设置模块 PAGEREF _Toc327530252 h 12HYPERLINK l _Toc3275302533.6 数据库表设计 PAGEREF _Toc327530253 h 13HYPERLINK l _Toc327530254第4章系统实现 PAGEREF _Toc327530254 h 15HYPERLINK l _Toc3275302554.1录入模块 PAGEREF _Toc327530255 h 15HYPERLINK l _Toc3275302564.2 投票模块 PAGEREF _Toc327530256 h 16HYP

8、ERLINK l _Toc3275302574.3排序模块 PAGEREF _Toc327530257 h 17HYPERLINK l _Toc3275302584.4系统设置模块 PAGEREF _Toc327530258 h 18HYPERLINK l _Toc327530259结束语(心得体会) PAGEREF _Toc327530259 h 21第1章设计目的1.1 设计目的网上投票系统的开发可以更好的把市场的信息更准确更快速的反馈给客户,使信息的来源更广泛,从而提高信息的准确性。运用此系统可以降低企业为市场调查而消耗的人力和物力,利用节省的资源提高产品的质量,增强竞争力。一个不断发展

9、的前提就是众多用户的支持,一个好的一定要注意与用户之间信息的交流。能够有效得到用户反馈的信息,并与时对容进行改进,这也是一个持续发展的基础。也正是由于以上原因,网络上各式各样的投票系统层出不穷。网络在线投票是目前网上比较常见的一个功能,利用此功能可以提直接在互联网上直接投票,并与时查看投票结果。利用此系统,用户投票比较方便还可以查看并分析投票结果,从中获得对自己有用的信息。本次课程设计的目的,就是制作一个网上投票系统,该系统可以实现对投票数量进行累加,统计票数等操作。投票网页的基本要求:有所有候选人列表(至少10人),有必要的投票说明和要求,如只能选几人(由系统给予限制),显示后可投票,如选5

10、人,选定5人后,网上提交。多选和少选都不能提交(无效票)。网上投票后,再次进入该网页时该网页不能再投票。每个人不能重复投票。获得投票统计结果网页的基本要求:多人投票完毕后,通过该网页获得投票统计结果,按候选人数排列得票最高的人员,如选5人就列出5人得。按得票多少排列,显示在屏幕上。要求调入该网页时,必须通过输入登录名和密码后才能显示上述投票结果。第2章总体设计2.1程序设计组成框图2.1.1.系统主结构图:登录系统管理员页面用户页面用户信息管理主题信息管理查看投票结果选择投票主题查看投票结果2.1.2.子系统结构: (1)用户信息管理:用户信息管理注册用户信息修改用户信息删除用户信息(2)主题

11、信息管理:主题信息管理添加候选人信息删除候选人信息修改候选人信息2.2流程图开始用户登录管理员登录登录登录投票投票结果查看投票结果查看用户信息管理主题信息管理结果显示2.3关系图用户投票投票表1投票表2用户名密码权限候选人编号候选人名字得票总 数候选人编号候选人名字得票总 数2.4数据库分析与设计我们设计了四个表,分别是用户表(yonghu),投票表1(vote1),投票表2(vote2),isvote表。用户表:在用户注册时,用于存储“用户名”,“密码”,“权限”等信息。投票表1:存储投票相关信息如:“候选人编号”,“候选人名字”,“得票总数”。投票表2:存储投票相关信息如:“候选人编号”,

12、“候选人名字”,“得票总数”。Isvote表:存储“用户名”,“向主题1投票”,“向主题2投票”相关信息。数据关系模式用户信息(用户名,密码,权限)投票表1(候选人编号,候选人名字,得票总数)投票表2(候选人编号,候选人名字,得票总数)isvote(userid,isvote1,isvote2)第3章 详细设计3.1 模块功能说明系统包括四大模块:登录模块,投票模块,排序模块,系统设置模块登录模块:该模块分为登录和注册两个小模块。可以实现普通用户和管理员两种身份的登录,普通用户登录后就跳转到用户操作页面,管理员登录后进入管理员操作页面。还可以实现普通用户的注册,管理员不可以注册,但可以对普通用

13、户进行添加、修改、删除。投票模块:该模块可以为两个主题投票,其中一个是多选(不多于5人),另一个是单选。普通用户可以进行投票,管理员不可以投票,可以对投票主题进行管理,即进行对投票的候选人的添加、修改、删除。排序模块:主要用于投票结果的查看,可以对候选人的总得票数,名字等进行排序,可以看到排名前5的候选人和得票数,也可以查看所有候选人的得票数,这样便可以直观的看出得票数的高低。系统设置模块:管理员对页面的管理,如可以对普通用户进行添加、修改、删除,也可以对对投票的候选人的添加、修改、删除。3.2 登录模块该模块分为登录和注册两个小模块。登录模块的具体设计代码如下图所示:using System

14、;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 ;publicpartialclass_Default : System.Web.UI.Pageprotected

15、void Page_Load(object sender, EventArgs e) protectedvoid Button1_Click(object sender, EventArgs e) SqlConnection MyConnection = Conn.CreateCon(); MyConnection.Open(); /打开连接string strsql = select * from yonghu where userid= + TextBox1.Text + and passwd= + TextBox2.Text + ;SqlCommand cm = newSqlComman

16、d(strsql, MyConnection);SqlDataReader dr = cm.ExecuteReader();if (dr.Read() /保存当前用户名到Session。 Sessionuserid = druserid; Sessionpower = drpower;int a = Convert.ToInt32(DropDownList1.SelectedValue);int c = Convert.ToInt32(Sessionpower);if (c = a) if (c = 0) Response.Redirect(用户主页.aspx); elseif (c = 1)

17、 Response.Redirect(管理员主页.aspx); else Response.Write(alert(权限错误!);); else Response.Write(alert(用户名或密码错误!);); MyConnection.Close(); /关闭连接 protectedvoid Button2_Click(object sender, EventArgs e) Response.Redirect(register.aspx); 注册模块的具体设计代码如下图所示:using System.Collections;using System.Web;using System.We

18、b.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 ;publicpartialclassregister : System.Web.UI.Pageint a;protectedvoid Page_Load(object sender, EventArgs e) a = Convert.ToInt32(Sessionpo

19、wer); protectedvoid Button1_Click(object sender, EventArgs e) SqlConnection oCon = Conn.CreateCon();string insertString = INSERT INTO yonghu ( userid,passwd,power) values( + TextBox1.Text + , + TextBox2.Text + ,0);string insertString2 = INSERT INTO isvote(userid,isvote1,isvote2) values( + TextBox1.T

20、ext + , 0,0);SqlCommand cmd = newSqlCommand(insertString, oCon);SqlCommand cmd2 = newSqlCommand(insertString2, oCon); oCon.Open(); cmd.ExecuteNonQuery(); cmd2.ExecuteNonQuery(); oCon.Close();if (a = 1) Response.Redirect(管理员主页.aspx); else Response.Redirect(default.aspx); 3.3 投票模块该模块可以为两个主题投票,其中一个主题是“

21、三好学生”的评选,另一个是“你最喜欢的歌手”的评选。“三好学生”的评选的具体设计代码如下所示: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;u

22、sing System.Data.SqlClient;publicpartialclassDefault2 : System.Web.UI.Pageint c, d, a, i, n;string m;protectedvoid Page_Load(object sender, EventArgs e) m = (string)(Sessionuserid); n = (int)(Sessionpower); protectedvoid Button1_Click(object sender, EventArgs e) quzhi(); c = (int)(Sessionisvote1);if

23、 (n = 0) if (c = 0) for (i = 0; i = this.GridView1.Rows.Count - 1; i+) CheckBox chk = (CheckBox)(this.GridView1.Rowsi.FindControl(checkbox1);if (chk.Checked) d = d + 1; sw(); else Response.Write(alert(您已经投过票!!);); else Response.Write(alert();); publicvoid sw() /此方法用于检验投票次数 if (d = 0) Response.Write(

24、alert(您还没有投票!);); elseif (d 6) for (i = 0; i 5) Response.Write(alert(您的选择超过五人!);); publicvoid db() /投票计数操作,并且将用户投票状态改变 a = Convert.ToInt32(GridView1.Rowsi.Cells0.Text);int b = Convert.ToInt32(GridView1.Rowsi.Cells2.Text) + 1;CheckBox chk = (CheckBox)(this.GridView1.Rowsi.FindControl(checkbox1);SqlCo

25、nnection CON = newSqlConnection(Data Source=.;Initial Catalog=VoteDB;Integrated Security=True);string updatestring1 = update vote1 set sum=sum where voteid=voteid ;string updatestring2 = update isvote set isvote1=1 where userid=id ;SqlCommand cmd1 = newSqlCommand(updatestring1, CON);SqlCommand cmd2

26、= newSqlCommand(updatestring2, CON); cmd1.Parameters.AddWithValue(voteid, a); cmd2.Parameters.AddWithValue(id, m); cmd1.Parameters.AddWithValue(sum, b); CON.Open(); cmd1.ExecuteNonQuery(); cmd2.ExecuteNonQuery(); CON.Close(); publicvoid quzhi() SqlConnection MyConnection = Conn.CreateCon(); MyConnec

27、tion.Open(); /打开连接string strsql2 = select * from isvote where userid= +m + ;SqlCommand cm2 = newSqlCommand(strsql2, MyConnection);SqlDataReader dr2 = cm2.ExecuteReader(); dr2.Read(); Sessionisvote1 = dr2isvote1; Sessionisvote2 = dr2isvote2; “你最喜欢的歌手”的评选的具体设计代码如下所示:using System;using System.Data;usin

28、g 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;publicpartialclassDefault3 : System.Web.UI.Pageint c, d

29、, a, b, i, n;string m;protectedvoid Page_Load(object sender, EventArgs e) m = (string)(Sessionuserid); n = (int)(Sessionpower); protectedvoid Button1_Click(object sender, EventArgs e) quzhi(); c = (int)(Sessionisvote2);if (n = 0)/如果是普通用户的话,执行下列语句 if (c = 0)/如果没有投票 for (i = 0; i = this.GridView1.Rows

30、.Count - 1; i+)/对选择的对象计数 CheckBox chk = (CheckBox)(this.GridView1.Rowsi.FindControl(checkbox1);if (chk.Checked) d = d + 1; sw(); else Response.Write(alert(您已经投过票!!);); else/如果是管理员不能投票 Response.Write(alert(管理员不能投票!);); publicvoid sw() /此方法用于检验投票次数 if (d = 0) Response.Write(alert(您还没有投票!);); elseif (d

31、 =1) for (i = 0; i = this.GridView1.Rows.Count - 1; i+) for (i = 0; i 1) Response.Write(alert(您只能为一人投票!);); publicvoid db() /投票计数操作,并且将用户投票状态改变 a = Convert.ToInt32(GridView1.Rowsi.Cells0.Text); b = Convert.ToInt32(GridView1.Rowsi.Cells2.Text) + 1;CheckBox chk = (CheckBox)(this.GridView1.Rowsi.FindCo

32、ntrol(checkbox1);SqlConnection CON = newSqlConnection(Data Source=.;Initial Catalog=VoteDB;Integrated Security=True);string updatestring1 = update vote2 set sum=sum where voteid=voteid ;/将总数增加一string updatestring2 = update isvote set isvote2=1 where userid=id ;/使该用户不能投票SqlCommand cmd1 = newSqlComman

33、d(updatestring1, CON);SqlCommand cmd2 = newSqlCommand(updatestring2, CON); cmd1.Parameters.AddWithValue(voteid, a); cmd2.Parameters.AddWithValue(id, m); cmd1.Parameters.AddWithValue(sum, b); CON.Open(); cmd1.ExecuteNonQuery(); cmd2.ExecuteNonQuery(); CON.Close(); publicvoid quzhi() SqlConnection MyC

34、onnection = Conn.CreateCon(); MyConnection.Open(); /打开连接string strsql2 = select * from isvote where userid= + m + ;SqlCommand cm2 = newSqlCommand(strsql2, MyConnection);SqlDataReader dr2 = cm2.ExecuteReader(); dr2.Read(); Sessionisvote1 = dr2isvote1; Sessionisvote2 = dr2isvote2; 3.4 排序模块主要用于投票结果的查看,

35、可以对候选人的总得票数,名字等进行排序。该功能是用sqldatasource数据源控件实现的,只要将sortexpression属性设置为要实现排序的字段值即可。3.5 系统设置模块管理员对页面的管理,如可以对普通用户进行添加、修改、删除,也可以对对投票的候选人的添加、修改、删除。该功能是用objectdatasource数据源控件实现的,具体设计代码如下所示:publicDataSet Getvote1() string strSql = SELECT voteid,voyename,sum FROM vote1;SqlDataAdapter oDA = newSqlDataAdapter(

36、strSql, oCon);DataSet oDS = newDataSet(); oDA.Fill(oDS, user);return oDS; publicvoid Updatevote1(string voteid, string voyename, string sum) string updateString = UPDATE vote1 set voyename=voyename ,sum=sum where voteid=voteid;SqlCommand cmd = newSqlCommand(updateString, oCon); cmd.Parameters.AddWit

37、hValue(voteid, voteid); cmd.Parameters.AddWithValue(voyename, voyename); cmd.Parameters.AddWithValue(sum, sum); oCon.Open(); cmd.ExecuteNonQuery(); oCon.Close(); publicvoid Deletevote1(string voteid) /SqlConnection oCon = Conn.CreateCon();string deleteString = DELETE FROM vote1 WHERE voteid=voteid;S

38、qlCommand cmd = newSqlCommand(deleteString, oCon); cmd.Parameters.AddWithValue(voteid, voteid); oCon.Open(); cmd.ExecuteNonQuery(); oCon.Close(); publicvoid Insertvote1(string voteid, string voyename, string sum) /SqlConnection oCon = Conn.CreateCon();string InsertString = INSERT INTO vote1(voteid,voyename,sum) VALUES (voteid,voyename,sum);SqlCommand cmd = newSqlCommand(InsertString, oCon); cmd.Parameters.AddWithValue(voteid, voteid); cmd.Parameters.AddWithValue(voyename, voyename); cmd.Parameters.AddWithValue(sum, sum); oCon.Open(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论