学术堂首页 | 文献求助论文范文 | 论文题目 | 参考文献 | 开题报告 | 论文格式 | 摘要提纲 | 论文致谢 | 论文查重 | 论文答辩 | 论文发表 | 期刊杂志 | 论文写作 | 论文PPT
学术堂专业论文学习平台您当前的位置:学术堂 > 计算机论文 > 网站设计论文

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

来源:学术堂 作者:姚老师
发布于:2014-08-09 共2995字
论文摘要

  1.在线投票系统设计

  在线投票系统应用较普遍,难点在于怎样避免重复投票和按照要求在指定日期及指定范围内进行投票的方法。以 asp 和 asp.net 平台为例,在常见的设计中,有一些应用Request 对象的 Cookies 集合实现投票,可以限制多次投票;也有一些应用 Request 对象的 ServeVariabrles 集合获取 IP 地址,通过查询 IP 地址的方法实现一个 IP 在指定日期内进行投票的方法。

  本人在制作企业内部网站的评选月度优秀员工在线投票模块设计中,要求员工根据每月确定的候选人在线进行差额投票评选优秀员工,每月至多投票一次,且不能重复给同一人投票。上述利用 Request 对象的方法不能满足设计要求,本人在Microsoft Visual Studio2010 平台下使用数据库和 vc# 等组件编程完成了设计,网站及评选优秀员工的模块工作状况良好。下面将介绍本模块的设计和制作方法。

  1.1 相关数据表

  本系统数据库名称为db_OA.mdf, 事务日志文件是db_OA_log.ldf。与评优投票程序设计相关的数据表有系统用户表 sysUser 和评优表 yx,具体内容如下:

  1.1.1 系统用户表 sysUser用于储存具有登录权用户的信息及每月评优投票日期。表结构定义如表 1-1 所示。

  论文摘要

  1.1.2 评优表 yx用于储存月评优秀员工侯选人信息。表结构定义如表 1-2所示。

论文摘要

  1.2 连接数据库

  本网站将数据库保存在网站的 App_Data 文件夹中。其路径存储在配置文件 Web.confi 的 <connectionStrings> 配置节中,内容如下:

论文摘要

  

  数据库连接串定义在一个常量 conStr 中,其值为:数据源来自本地 Sql Server 2005 EXPRESS 数据库服务器;数据库保存在“|DataDirectory|”,即默认的文件夹 App_Data 中,数据库名为db_OA.MDF,登录用户和密码使用系统默认值,使用系统的“System.Data.SqlClient”命名空间。此时,数据库路径在网站已经确定。

  1.3 三层架构与公共类文件

  网站采用三层开发架构。将网站需经常使用的代码段定义为方法,保存在公共类文件 BaseClass.cs 文件中,文件存放在系统文件夹 App_Code 中。BaseClass.cs 文件中定义了三个方法,前一个方法是调用 JavaScript 的 alert 方法弹出 window 风格消息框;后二个方法涉及有关 ADO.NET 访问数据库的操作。

  1.3.1MessageBox 方法:

 论文摘要

  定义一个全局字符串型的方法 MessageBox,调用时的形参名为字符串类型的 TxtMessage,字符串变量 str 中包含使用JavaScript 的 alert 方法的代码,返回时在页面弹出 window 风格消息框。定义方法后,在程序中可随时调用。

  1.3.2 ExecSELECTE 方法:

  定义一个全局整数型方法 ExecSELECTE,形参名为字符串类型的 sQueryString,用于执行 sQueryString 表示的 sql 查询语句,其中 Command 对象采用 ExecuteScalar 方法,执行单一结果的查询。返回结果中第一行的第一列,将该列值转换为一个 int类型的值,用以判断操作是否成功。

  #region 执行 SQL 语句,select 读取单一查询结果,操作成功返回 >0

论文摘要

  1.3.3 GetDataSet 方法:

  定义一个全局系统数据集类型(System.Data.DataSet)的方法GetDataSet, 调用时有两个字符串类型实参 , 一个是sQueryString,为输入的 SQL 语句;另一个是 TableName,为输入的数据表名称。返回值为数据集类型,即返回一个表。

  #region: 带二个参数执行 SQL 语句,操作成功返回一个表

论文摘要
论文摘要

  语句使用 new 运算符创建类 BaseClass 的对象 bc,并调用BaseClass()对该对象进行初始化,这表示对象 bc 可调用公共类文件 BaseClass.cs 中定义的所有方法。

  2.页面设计

  2.1 前台页面设计

  网站页面为母版页结构,评选优秀员工前台页 yx-vote.aspx为一个内容页,使用 asp.net 的数据列表控件 DataList,页面截图如图 2-1 所示。在每个候选人的选项栏中设置一个投票按钮,投票时若点击某个候选人选项栏的投票按钮,则触发 DataList控件的 EditCommand 事件,将执行后台设置的按钮点击事件代码。

 论文摘要

  2.2 后台代码编制

  2.2.1 启动评优投票页面时,系统打开用户表 sysUser,查询该用户是否有本月的投票记录,如果有则不能再投票,给出提示并返回上级页面。

  2.2.2 若无本月的投票记录,则首先从评优表 yx 中取出已知的侯选人数,按一定的条件确定优秀员工的人数,确定的人数值也就是本轮投票的次数。将由员工进行差额不重复投票,评选出本月优秀员工。

  2.2.3 单击“投票”按钮开始投票,系统首先判断本轮投票是否完成,如果已完成则退出;退出前应在 sysUser 表写入当前日期,因为每个用户每月至多只能进行一次评优投票。下次投票时若在 sysUser 表查询出已有相同月份,表明已投过票,则不能再投票。这样可有效阻止多次登录重复投票。

  2.2.4 如果本轮投票没有完成,投票时应确定不重复投票,鼠标点击某候选人所在行的主键值赋给变量 str,将变量 str 与已存在数组中的 str 值比较,如果相同则表示重复投票给同一人,本票无效;直到投票选择侯选人的 str 与数组中的 str 值不相同时,将不重复投票的主键值 str 存入数组中。

  2.2.5 从 yx 表中找到与数组元素 str 相同主键所在记录的票数字段 qty 值,赋给变量 yxqty,给 yxqty 加 1,然后更新表中投票值。每月投票后,yx 表中票数较多的前几人即为评选出的本月优秀员工。

  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,当网页第一次启动时,!Page.IsPostBack 获取回传,即在第一次启动时执行以下初始化页面操作:

  首先从 yx 表求和,ExecSELECTE 方法返回结果中第一行的第一列值,即为求和得到的优秀员工的候选人数 rencoun,然后按 60%比例自动计算优秀员工人数 yxcoun,考虑到上一个用户可能在投票中途非正常退出,所以投票开始时对数组和下标清零;最后绑定 DataList1 控件并显示候选人名单,启动页面如图2-1 所示:

  论文摘要

  2.4 事件代码部分:

  2.4.1 单击 " 投票 " 按 钮 , 触发 DataList 控件的EditCommand 事件。首先判断是否已投完票,投完票则在sysUser 表写入当前日期,以便下次投票时查询是否已投过票,然后返回到 yx-voteResult.aspx 页面显示投票结果。投票时应确定不重复投票,投票结果存入 yx 表。代码如下:

  论文摘要

  Response.Write(" 本次是第["+(i+1)+"]票投票 ="+homestr[i].ToString()+ " 号?<br />"); // 显示投票信息,如图 2-3 所示2.4.2 最后利用 DataSet 行对象 DataRow 从 yx 表中找到主键值 str 所在行的投票数字段 qty 值并赋给变量 yxqty,给 yxqty加 1,然后更新表中投票数字段值,步骤如下:

  2.4.2.1 首先从表中找到原投票数 qty 并赋给变量 yxqty。

论文摘要

论文摘要论文摘要

论文摘要

  后台制作完毕,投票结果存入 yx 表的 qty 字段。网站启动时,首页文件 Default.aspx 将在表 yx 中找出票数高的员工为优秀员工,然后在前台的左侧显示优秀员工的姓名、照片等资料。

  参考文献:
  [1]明日科技.ASP.net 2.0 开发技术大全[M].北京:人民邮电出版社,2008.
  [2]程不功.龙跃进.ASP.NET2.0 动态网站开发教程[Z].北京:清华大学出版社,2008.
  [3]祝红涛.SQL Server 2008 数据库应用简明教程[Z].北京:清华大学出版社,2010.
  [4]沈大林.SQL Server 2005 案例教程[Z].北京:中国铁道出版社,2010.
  [5]汪亚菲.网站建设实例教程[Z].北京:清华大学出版社,2013.

  • 报警平台
  • 网络监察
  • 备案信息
  • 举报中心
  • 传播文明
  • 诚信网站