ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:239.05KB ,
资源ID:9198999      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9198999.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(如何设计网络在线投票系统NET 20轻松实.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

如何设计网络在线投票系统NET 20轻松实.docx

1、如何设计网络在线投票系统NET 20轻松实一、系统功能设计和数据库设计1、系统功能设计和数据库设计 1.1 系统功能设计 网络在线投票系统实现的功能比较简单,具体如下:投票项目的管理;添加投票的项目;删除投票的项目;对项目进行投票;查看项目的投票情况。1.2 数据库设计 本系统的数据库设计比较简单,只需要存储投票的信息即可。在SQL Server 2000中创建一个数据库,名称为“WebVoteDB”,并在该数据库中创建投票项目表Votes。其中“VoteID”字段存储投票项目ID;“Item”字段存储投票项目的名称;“VoteCount”字段存储每个项目的票数。创建投票项目表Votes的操作

2、界面如图1所示。投票项目表Votes需要存储投票项目名称及其票数,表的字段说明如表1所示。图1 创建投票项目表Votes的操作界面字 段 名数 据 类 型字 段 说 明键 引 用备 注TreeIDint 投票项目ID PK主键(自动增一)Itemvarchar(200) 投票项目的名称VoteCountint票数表1 Votes表在线投票功能是网站应用程序最常用的功能之一,也是网站应用程序开发常用的功能模块。当网站的管理员或用户提出一些新的想法与建议或者出现一种新产品时,他们可能需要通过用户或者客户的投票方式来确定这些新的想法、建议或者新的产品是否满足用户或者客户的需求,另外,网站还可以通过网

3、站在线投票功能做一些实际性的调查工作。本章介绍的网络在线投票系统还以直观的图形化界面显示投票信息,而且还可以及时查看投票的情况。二、投票系统实现 创建好系统所需要的数据库之后,网络在线投票系统的具体实现可以分为下面3个部分:(1)存储过程的实现部分;(2)数据库访问层的实现部分;(3)功能页面的实现部分。下面将详细介绍上述3个部分的具体实现方法。首先在Microsoft Visual Studio .NET 2005中创建一个Web站点,名称为“WebVote”。2.1 存储过程设计 在数据库WebVoteDB中创建存储过程Pr_GetVotes、Pr_GetSingleVote、Pr_Add

4、Vote、Pr_UpdateVote和Pr_DeleteVote。其中:Pr_GetVotes 从投票项目表Votes中获取所有投票项目的信息;Pr_GetSingleVote 从投票项目表Votes中获取某一条投票项目的信息;Pr_AddVote 添加一条新记录到投票项目表Votes中;Pr_UpdateVote 更新参与投票项目的票数;Pr_DeleteVote 从投票项目表Votes中获取删除一条投票项目信息。以上各存储过程的程序代码如下:/* 存储过程Pr_GetVotes */CREATE PROCEDURE Pr_GetVotesASSELECT * FROM Votes ORDE

5、R BY VoteID/* 存储过程Pr_GetSingleVote */CREATE PROCEDURE Pr_GetSingleVote(VoteID int)ASSELECT Votes.* FROM Votes WHERE VoteID = VoteID/* 存储过程Pr_AddVote */CREATE PROCEDURE Pr_AddVote(Item varchar(100)ASINSERT INTO Votes(Item,ItemCount) VALUES(Item,0) RETURN Identity/* 存储过程Pr_UpdateVote */CREATE PROCEDUR

6、E Pr_UpdateVote (VoteID int)ASUPDATE Votes SET VoteCount = VoteCount + 1WHERE VoteID = VoteID/* 存储过程Pr_DeleteVote */CREATE PROCEDURE Pr_DeleteVote (VoteID int)ASDELETE VotesWHERE VoteID = VoteID2.2 数据库访问层设计在应用程序WebVote中添加访问投票表Votes的类Vote,该类封装对投票项目表Votes中记录的选择、添加、修改和删除的方法。其中:方法GetVotes() 从投票项目表Votes中

7、获取所有投票项目的信息;方法AddVote(String sItem) 添加一条新记录到投票项目表Votes中;方法UpdateVote(int nVoteID) 更新参与投票项目的票数;方法DeleteVote(int nVoteID) 从投票项目表Votes中获取删除一条投票项目信息。类Vote的程序设计代码如下:public class Votepublic SqlDataReader GetVotes()/定义类SQLHelperSQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper();/定义保存从数据库获取的结果的DataRe

8、aderSqlDataReader dr = null;try /执行存储过程sqlHelper.RunProc(Pr_GetVotes, out dr);catch (Exception ex) /抛出执行数据库异常SystemError.CreateErrorLog(ex.Message);throw new Exception(ex.Message, ex);/返回从数据库获取的结果return (dr);public int AddVote(String sItem) /定义类SQLHelperSQLHelper.SQLHelper sqlHelper = new SQLHelper.

9、SQLHelper();/创建访问数据库的参数SqlParameter paramList = sqlHelper.CreateInParam(Item, SqlDbType.VarChar,100,sItem);try /执行存储过程return (sqlHelper.RunProc(Pr_AddVote, paramList);catch (Exception ex) /抛出执行数据库异常SystemError.CreateErrorLog(ex.Message);throw new Exception(ex.Message, ex);public void UpdateVote(int

10、nVoteID) /定义类SQLHelperSQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper();/创建访问数据库的参数SqlParameter paramList = sqlHelper.CreateInParam(VoteID, SqlDbType.Int, 4,nVoteID);try /执行存储过程sqlHelper.RunProc(Pr_UpdateVote, paramList);catch (Exception ex) /抛出执行数据库异常SystemError.CreateErrorLog(ex.Message);t

11、hrow new Exception(ex.Message, ex);public void DeleteVote(int nVoteID) /定义类SQLHelperQLHelper();/创建访问数据库的参数SqlParameter paramList = sqlHelper.CreateInParam(VoteID, SqlDbType.Int, 4,nVoteID);try /执行存储过程sqlHelper.RunProc(Pr_DeleteVote, paramList);catch (Exception ex) /抛出执行数据库异常SystemError.CreateErrorLo

12、g(ex.Message);throw new Exception(ex.Message, ex);系统主页面设计 在应用程序WebVote中添加一个新的Web页面,并命名为Default.aspx,它的代码隐藏文件为Default.aspx.cs。在页面Default.aspx上添加3个超链接控件,名称分别为ItemManageLink、OnlineVoteLink、ViewVoteLink。它们分别实现跳转投票项目管理页面VoteItemManage.aspx、投票页面WebOnlinVote.aspx、投票结果页面ShowVoteInfo.aspx。页面Default.aspx的设计界面

13、如图2所示。页面Default.aspx的HTML设计代码如下:asp:HyperLink ID=ItemManageLink NavigateUrl=/VoteItemManage.aspxrunat=server Font-Bold=True投票项目管理/asp:HyperLinkasp:HyperLink ID=OnlineVoteLink NavigateUrl=/WebOnlinVote.aspxrunat=server Font-Bold=True网站在线投票/asp:HyperLinkasp:HyperLink ID=ViewVoteLink NavigateUrl=/ShowV

14、oteInfo.aspxrunat=server Font-Bold=True查看投票结果/asp:HyperLink在线投票系统运行之后,系统默认页面Default.aspx的初始化界面如图3所示,此时显示3个链接按钮。投票项目管理页面设计 在应用程序WebVote中添加一个新的Web页面,并命名为VoteItemManage.aspx,它的代码隐藏文件为VoteItemManage.aspx.cs文件。1页面设计 在页面VoteItemManage.aspx上添加一个列表控件、一个Button控件、一个TextBox控件和一个ImageButton控件,它们的名称分别为ItemList、A

15、ddBtn、Item和deleteBtn。控件ItemList显示投票项目表中的所有数据;控件AddBtn实现添加一个新的投票项目;控件Item用来输入新的投票项目名称;控件deleteBtn删除一个投票项目。页面ItemManage.aspx的设计界面如图4所示。页面VoteItemManage.aspx的HTML设计代码如下:title网络在线投票系统/titlelink href=CSS/ASPNET2BaseCss.css type=text/css rel=stylesheetasp:ListBox id=ItemList width=150 rows=10 runat=server

16、CssClass=SelectSta /asp:ImageButton id=deleteBtn ImageUrl=/images/delete.gifAlternateText=删除此项 runat=serverCommandName=delete OnClick=deleteBtn_Click /asp:TextBox ID=Item Runat=server Width=252CssClass=InputCss/asp:TextBoxasp:Button ID=AddBtn Runat=server Text=增加新的投票项目CssClass=ButtonCss OnClick=AddB

17、tn_Click/asp:Button2页面初始化页面VoteItemManage.aspx调用函数Page_Load(Object sender,EventArgs e)初始化,该函数调用函数BindVoteListData()从数据库投票表Votes中获取所有投票的项目,并把获取的数据绑定到列表控件ItemList。函数Page_Load(Object sender,EventArgs e)和函数BindVoteListData()的程序代码如下:private void Page_Load(object sender, System.EventArgs e)if(!Page.IsPost

18、Back) /绑定投票项目列表的数据BindVoteListData();private void BindVoteListData() /获取投票项目的所有数据WebVote.Vote vote = new Vote();etVotes();/设置列表控件的Text属性和Value属性ItemList.DataTextField = Item;ItemList.DataValueField = VoteID;/设置控件的数据源,并绑定控件的数据ItemList.DataSource = recv;ItemList.DataBind();recv.Close(); /关闭数据读取器网络在线投票

19、系统运行之后,投票项目管理页面VoteItemManage.aspx的初始化界面如图5所示,此时已经显示投票的项目信息。3添加功能 单击页面VoteItemManage.aspx中的【增加新的投票项目】按钮,触发事件AddBtn_Click(object sender, System.EventArgs e),该事件实现添加一个新的投票项目。事件AddBtn_Click(object sender, System.EventArgs e)的程序代码如下:private void AddBtn_Click(object sender, System.EventArgs e)if (Item.Te

20、xt.Length 0) /定义类WebVote.Vote vote = new Vote();try /添加新数据项vote.AddVote(Item.Text.Trim();BindVoteListData();/显示操作结果信息Response.Write(scriptwindow.alert(+ ASPNET2System.OPERATIONADDSUCCESSMESSAGE + )/script);catch (Exception ex) /显示添加操作中的失败、错误信息Response.Redirect(/DesktopModules/ErrorPage.aspx?ErrorUrl

21、=rectErrorUrl(Request.RawUrl)+ &ErrorMessage= + ex.Message.Replace(n, );4删除功能 单击页面VoteItemManage.aspx中的【】按钮,触发事件deleteBtn_Click(object sender, System.EventArgs e),该事件实现删除已选择的投票项目。事件deleteBtn_Click(object sender, System.EventArgs e)的程序代码如下:protected void deleteBtn_Click(object sender, ImageClickEvent

22、Args e)if (ItemList.SelectedIndex = -1) /显示操作结果信息Response.Write(scriptwindow.alert(+ ASPNET2System.OPERATIONNOSELECTMESSAGE + )/script);return;/定义类WebVote.Vote vote = new Vote();try /删除数据vote.DeleteVote(Int32.Parse(ItemList.SelectedValue);/重新绑定数据BindVoteListData();catch (Exception ex) /显示删除操作中的失败、错误

23、信息Response.Redirect(/DesktopModules/ErrorPage.aspx?ErrorUrl=+ ASPNET2System.RedirectErrorUrl(Request.RawUrl)+ &ErrorMessage= + ex.Message.Replace(n, );投票页面设计 在应用程序WebVote中添加一个新的Web页面,并命名为WebOnlineVote.aspx,它的代码隐藏文件为WebOnlineVote.aspx.cs文件。1页面设计 一个数据网格控件、两个Button控件和一个Label控件,它们的名称分别为VoteList、VoteBtn、

24、ShowVote和VoteMessage。控件VoteList用来显示参与投票的所有项目;控件VoteBtn提交用户的投票;控件ShowVote实现用户查看投票情况;控件VoteMessage显示用户投票的操作结果。页面WebOnlinVote.aspx的设计界面如图6所示。页面WebOnlinVote.aspx的HTML设计代码如下:% Page Language=C# AutoEventWireup=trueCodeFile=WebOnlinVote.aspx.cs Inherits=WebOnlinVote %HTMLHEADtitle网络在线投票系统/title/HEADasp:dat

25、agrid id=VoteList CssClass=GbText Runat=serverAutoGenerateColumns=False DataKeyField=VoteIDColumnsasp:TemplateColumn ItemStyle-Width=200ItemTemplate%# DataBinder.Eval(Container.DataItem,Item)%/ItemTemplate/asp:TemplateColumnasp:TemplateColumn ItemStyle-Width=100ItemTemplateasp:CheckBox ID=VoteCheck

26、Runat=server/asp:CheckBox/ItemTemplate/asp:TemplateColumn/ColumnsFooterStyle BackColor=#FFFFCC ForeColor=#330099 /SelectedItemStyle BackColor=#FFCC66 Font-Bold=TrueForeColor=#663399 /PagerStyle BackColor=#FFFFCC ForeColor=#330099HorizontalAlign=Center /ItemStyle BackColor=White ForeColor=#330099 /He

27、aderStyle BackColor=#990000 Font-Bold=TrueForeColor=#FFFFCC /asp:datagridasp:button id=VoteBtn Runat=server Width=100Text=我要投票/asp:button asp:button id=ShowVote Runat=server Width=100Text=查看投票/asp:buttonasp:Label ID=VoteMessage Runat=server Visible=FalseForeColor=red Font-Bold=True投票成功!/asp:Label/td

28、/HTML1页面初始化 页面WebOnlinVote.aspx调用函数Page_Load(Object sender,EventArgs e)初始化,该函数调用函数BindVoteListData()从数据库投票表Votes中获取所有投票项目的信息,并把获取的数据设置为数据网格控件VoteList的数据源。函数Page_Load(Object sender,EventArgs e)和函数BindVoteListData()的程序代码如下:private void Page_Load(object sender, System.EventArgs e)if(!Page.IsPostBack) /

29、绑定投票的项目BindVoteListData();VoteMessage.Visible = false;private void BindVoteListData() /获取所有数据WebVote.Vote vote = new Vote();SqlDataReader recv = vote.GetVotes();/设置控件的数据源,并绑定数据VoteList.DataSource = recv;VoteList.DataBind();recv.Close(); /关闭数据读取器网络在线投票系统运行之后,投票页面WebOnlinVote.aspx的初始化界面如图7所示,此时显示被投票的项目信息。2投票功能 用户单击页面WebOnlinVote.aspx中的【我要投票】按钮和【查看投票】按钮分别触发

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1