在线投票网站系统设计研究

在线投票网站系统设计研究

ID:9498796

大小:53.00 KB

页数:3页

时间:2018-05-01

在线投票网站系统设计研究_第1页
在线投票网站系统设计研究_第2页
在线投票网站系统设计研究_第3页
资源描述:

《在线投票网站系统设计研究》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、在线投票网站系统设计研究  1.在线投票系统设计  在线投票系统应用较普遍,难点在于怎样避免重复投票和按照要求在指定日期及指定范围内进行投票的方法。以asp和asp.平台为例,在常见的设计中,有一些应用Request对象的Cookies集合实现投票,可以限制多次投票;也有一些应用Request对象的ServeVariabrles集合获取IP地址,通过查询IP地址的方法实现一个IP在指定日期内进行投票的方法。  本人在制作企业内部X站的评选月度优秀员工在线投票模块设计中,要求员工根据每月确定的候选人在线进行差额投票评选优秀员工,每月至多投票一次,且不能重复给同一人投票。上述

2、利用Request对象的方法不能满足设计要求,本人在MicrosoftVisualStudio2010平台下使用数据库和vc#等组件编程完成了设计,X站及评选优秀员工的模块工作状况良好。下面将介绍本模块的设计和制作方法。  1.1相关数据表  本系统数据库名称为db_OA.mdf,事务日志文件是db_OA_log.ldf。与评优投票程序设计相关的数据表有系统用户表sysUser和评优表yx,具体内容如下:  1.1.1系统用户表sysUser用于储存具有登录权用户的信息及每月评优投票日期。表结构定义如表1-1所示。    1.1.2评优表yx用于储存月评优秀员工侯选人信息

3、。表结构定义如表1-2所示。  1.2连接数据库  本X站将数据库保存在X站的App_Data文件夹中。其路径存储在配置文件DF,登录用户和密码使用系统默认值,使用系统的System.Data.SqlClient命名空间。此时,数据库路径在X站已经确定。  1.3三层架构与公共类文件  X站采用三层开发架构。将X站需经常使用的代码段定义为方法,保存在公共类文件BaseClass.cs文件中,文件存放在系统文件夹App_Code中。BaseClass.cs文件中定义了三个方法,前一个方法是调用JavaScript的alert方法弹出and对象采用ExecuteScalar方

4、法,执行单一结果的查询。返回结果中第一行的第一列,将该列值转换为一个int类型的值,用以判断操作是否成功。  #region执行SQL语句,select读取单一查询结果,操作成功返回>0  1.3.3GetDataSet方法:  定义一个全局系统数据集类型(System.Data.DataSet)的方法GetDataSet,调用时有两个字符串类型实参,一个是sQueryString,为输入的SQL语句;另一个是TableName,为输入的数据表名称。返回值为数据集类型,即返回一个表。  #region:带二个参数执行SQL语句,操作成功返回一个表  语句使用nean

5、d事件,将执行后台设置的按钮点击事件代码。   2.2后台代码编制  2.2.1启动评优投票页面时,系统打开用户表sysUser,查询该用户是否有本月的投票记录,如果有则不能再投票,给出提示并返回上级页面。  2.2.2若无本月的投票记录,则首先从评优表yx中取出已知的侯选人数,按一定的条件确定优秀员工的人数,确定的人数值也就是本轮投票的次数。将由员工进行差额不重复投票,评选出本月优秀员工。  2.2.3单击投票按钮开始投票,系统首先判断本轮投票是否完成,如果已完成则退出;退出前应在sysUser表写入当前日期,因为每个用户每月至多只能进行一次评优投票。下次投票时若在sy

6、sUser表查询出已有相同月份,表明已投过票,则不能再投票。这样可有效阻止多次登录重复投票。  2.2.4如果本轮投票没有完成,投票时应确定不重复投票,鼠标点击某候选人所在行的主键值赋给变量str,将变量str与已存在数组中的str值比较,如果相同则表示重复投票给同一人,本票无效;直到投票选择侯选人的str与数组中的str值不相同时,将不重复投票的主键值str存入数组中。  2.2.5从yx表中找到与数组元素str相同主键所在记录的票数字段qty值,赋给变量yxqty,给yxqty加1,然后更新表中投票值。每月投票后,yx表中票数较多的前几人即为评选出的本月优秀员工。  

7、2.2.6考虑到用户可能在投票中途非正常退出,所以投票开始时对数组和下标清零。  评优投票模块设计流程图如图2-2所示,评优投票后台页yx-vote.aspx.cs代码如下:  2.3启动时自执行部分:  2.3.1启动时自动执行开始部分的初始化,然后执行Page_Load事件,从sysUser表中查询用户是否有本月投票记录,有则退出评优页面,返回到yx-voteResult.aspx页面显示投票结果。    2.3.2在Page_Load事件中引入Page对象属性Page.IsPostBack,当X页第一次启动时,!Page

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。