课程设计(论文)基于C#的新闻投票系统的实现_第1页
课程设计(论文)基于C#的新闻投票系统的实现_第2页
课程设计(论文)基于C#的新闻投票系统的实现_第3页
课程设计(论文)基于C#的新闻投票系统的实现_第4页
课程设计(论文)基于C#的新闻投票系统的实现_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、目录1引言12需求分析12.1 需求说明22.2功能说明22.3问题描述23设计说明.23.1简要分析23.2概要分析33.2.1功能图如下33.2.2数据库设计43.2.3代码文件部分54源程序与执行部分54.1 主页面部分54.2 添加投票主题74.3 添加投票选项部分94.4 投票界面部分124.5显示结果部分165设计心得186参考文献19基于c#的新闻投票系统的实现1引言c#是微软公司在二ooo年六月发布的一种新的编程语言,并定于在微软职业开发者论坛(pdc)上登台亮相。它是微软公司研究员anders hejlsberg的最新成果。c#看起来与java有着惊人的相似;它包括了诸如单一

2、继承、界面、与java几乎同样的语法,和编译成中间代码再运行的过程。但是c#与java有着明显的不同,它借鉴了delphi的一个特点,与com(组件对象模型)是直接集成的,而且它是微软公司.net windows网络框架的主角。c#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于microsoft .net平台的应用程序,microsoft .net提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。正是由于c#面向对象的卓越设计,使它成为构建各类组件的理想之选无论是高级的商业对象还是系统级的应用程序。使用简单的c#语言结构,这些组件可以方便的转化为xml网络服务,

3、从而使它们可以由任何语言在任何操作系统上通过internet进行调用。sql结构化查询语言。sql语言的主要功能就是同各种数据库建立联系,进行沟通。按照ansi(美国国家标准协会)的规定,sql被作为关系型数据库管理系统的标准语言。sql语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。sql server 是一个在window平台上开发的关系数据库管理系统,用来保存数据并提供一套方法来操纵维护和管理这些数据,同时扮演服务器的角色,来响应来自客户端的连接和数据访问请求,开发好的数据客户端程序接收用户数据输入查询请求,通过网络传给sql server,保存在数据库中或

4、由sql server执行查询命令,前端程序等待接收数据并显示在终端界面。本次程序设计主要用c#语言编写客户端,管理员管理后台,通过前端界面的操作把用户的相关投票数据存入数据库,并可以读取数据库在前端显示相应结果。主要是大量控件的应用及与数据库的连接。2需求分析2.1 需求说明从国际互联网到校园网,企业局域网,各种网上投票系统随处可见,意见调查,用户信息统计,经营情况调查都可以作为投票的内容,网上投票系统凭借其方便快捷等特点,已经成为互联网资源中不可缺少的一部分,并且,随着网络技术的发展,网上投票系统的作用将会越来越大。在投票的过程中对网络的要求也越来越高。它要求信息安全保密性,投票者有保密的

5、要求,如用户名及投票内容被人知悉,就对用户的隐私权构成了侵,这就要求对其存储的数据库进行加密。此外投票唯一性也是一个重要的方面,一个投票者,其投票次数应当只有一次。投票唯一性实质上也是投票者身份的有效性,只有在确认投票者身份有效的前提下,才能保证用户投票的唯一性。2.2功能说明此次设计应满足以下几个功能:增加投票,同一ip地址每天只能投票一次,并有相应的提示;必须选择观点,限制空投;此投票可以单选,也可以多选投票;用户可自行发起主题及选项投票;查看和统计投票信息:能够统计出不同主题对于不同观点的投票数。2.3问题描述在现实生活中,为了使自己的网络营业及服务越来越迎合广大对象的口味,或者对自己进

6、行一些测试,既安全又方便。因此实行投票制在现实生活中必不可少的一部分。在本次实训的目的是设计一个自由的网络投票系统。在投票过程中,用户可以自由选择开始投票,删除,并修改。这些是对投票系统客户端的基本要求。在设计的过程中,要考虑系统的安全性。因为投票系统必须保证它的完整性,不允许任何人篡改,否则就失去了它原有的目的和意义。3设计说明3.1简要分析在本次实验中主要应用了web技术和超文本http协议以及超文本标记语言html。采用了c#语言,结合html代码,使用vs2010编辑完成投票应用程序的编写。其中结合数据库才能完成相应其功能,因此使用sql server建立一个数据库,里面存放相应用户信

7、息,投票信息,管理信息等。然后又通过web控件及ado组件访问数据库,将数据库和网页的相关操作联系起来,从而使投票的各功能得以实现。具体体现如下:投票界面返回结果数据库控件语句操作访问数据库返回相应的操作结果3.2概要分析本次设计中的主要部分,数据库和c#程序代码设计。3.2.1功能图如下3.2.2数据库设计t_ip :字段名称数据类型字段大小必填字段默认值字段说明ipid数字整型是无ip地址编号qid数字整形是无问题编号ip文本是无ip地址lasttime时间datetime是无投票时间t_question:字段名称数据类型字段大小必填字段默认值字段说明qcontent文本40是无问题内容q

8、id数字整形是无问题编号qtype数字整形是无投票类型t_answer :字段名称数据类型字段大小必填字段默认值字段说明acontent文本40是无选项内容qid数字整形是无问题编号aid数字整形是无选项编号count数字整形是0选项票数各表关系图:3.2.3代码文件部分index.aspx 进入后的主界面viewvote.aspx 用于进行投票的部分viewresult.aspx 用于显示投票结果addoption.aspx 用户添加投票选项部分addquestion.aspx 添加投票主题部分4源程序与执行部分4.1 主页面部分index.aspx主界面代码: 发起投票 单选投票: ahr

9、ef=viewvote.aspx?qid=&type=1* 多选投票 a href=viewvote.aspx?qid=&type=2* 执行界面如下:界面显示图4.2 添加投票主题addquestion.aspx添加主题界面代码:发起投票 请输入问题:   添加主题界面相应控件触发代码及数据库连接部分:addquestion.aspx.cs:public partial class addquestion : system.web.ui.page protected void page_load(object sender, eventargs e) if (!ispostback

10、) button1.text = 提交; button2.text = 清空; protected void button1_click(object sender, eventargs e) string qcontent = question.text; int qid = 0; /选择单选复选 int qtype = 1; if (radiobutton2.checked) qtype = 2; sqlconnection conn = new sqlconnection(data source=.sqlexpress;attachdbfilename=|datadirectory|my

11、vote.mdf;integrated security=true;user instance=true); conn.open(); sqlcommand cmd = conn.createcommand(); cmd.commandtext = insert into t_question(qcontent,qtype) values(content,qtype); cmd.parameters.addwithvalue(content, qcontent); cmd.parameters.addwithvalue(qtype, qtype); cmd.executenonquery();

12、 sqldatareader reader = cmd.executereader(); if (reader.read() qid = (int)reader.getvalue(0); cmd.dispose();conn.dispose(); response.appendcookie(cookie); response.appendcookie(cookie2); response.redirect(addoption.aspx); protected void button2_click(object sender, eventargs e) if (ispostback) quest

13、ion.text = ; 执行界面图:用户填写主题界面用户提交后的界面4.3 添加投票选项部分addoption.aspx添加投票选项界面代码: 首页 问题: 请编辑选项:   选项: asp:label id=acontentlabel runat=server text= /   添加投票选项界面相应控件触发代码及数据库连接部分:addoption.aspx.cs: public partial class addoption : system.web.ui.page protected void page_load(object sender, eventa

14、rgs e) button1.text = +添加选项; button2.text = 发起投票; string questioncontent = request.cookiescon.valuesqcontent; question.text = questioncontent; string qtypestr = request.cookiescon.valuesqtype; int qtype = convert.toint32(qtypestr); if (qtype = 1) literal2.text=单选投票; else literal2.text = 复选投票; protec

15、ted void button1_click(object sender, eventargs e) string acontent = option.text; string qidstr = request.cookiesqid.value; int qid = convert.toint32(qidstr); sqlconnection conn = new sqlconnection(data source=.sqlexpress;attachdbfilename=|datadirectory|myvote.mdf;integrated security=true;user insta

16、nce=true); conn.open(); sqlcommand cmd = conn.createcommand(); cmd.commandtext = insert into t_answer(qid,acontent) values(qid,acontent); cmd.parameters.addwithvalue(qid, qid); cmd.parameters.addwithvalue(acontent, acontent); cmd.executenonquery(); cmd.dispose();conn.dispose(); response.redirect(add

17、option.aspx); protected void button2_click(object sender, eventargs e) response.redirect(index.aspx); 执行添加选项:添加选项后界面用户添加完选项可对其编辑删除,可添加多个选项,然后点发起投票回到主页面。4.4 投票界面部分viewvote.aspx投票界面代码: 首页 问题: 投票界面相应控件触发代码及数据库连接部分:viewvote.aspx.cs: public partial class viewvote : system.web.ui.page protected void page_

18、load(object sender, eventargs e) literal1.text = 请投票; button1.text = 确定; string qtypestr=request.querystringtype; int qtype = convert.toint32(qtypestr); if (qtype = 1) checkboxlist1.visible = false; else radiobuttonlist1.visible = false; protected void button1_click(object sender, eventargs e) strin

19、g qtypestr = request.querystringtype; int qtype = convert.toint32(qtypestr); int voted = 0; string qidstr = request.querystringqid; vote.dal.ipds.t_ipdatatable data = adapter.getipbyqid(qid); for (int i = 0; i = datetime.now) voted = 1;/已经投过票 response.write(alert(您已经投过票了!); return; if (voted = 0) da

20、tetime lasttime = datetime.now; if (qtype = 1) string selectstr = radiobuttonlist1.selectedvalue; int aid = convert.toint32(selectstr); sqlconnection conn = new sqlconnection(data source=.sqlexpress;attachdbfilename=|datadirectory|myvote.mdf;integrated security=true;user instance=true); conn.open();

21、 cmd.executenonquery(); cmd.commandtext = insert into t_ip(qid,ip,lasttime) values(qid,ip,lasttime); cmd.parameters.addwithvalue(qid,qid);cmd.executenonquery();cmd.dispose();conn.dispose(); else sqlconnection conn = new sqlconnection(data source=.sqlexpress;attachdbfilename=|datadirectory|myvote.mdf

22、;integrated security=true;user instance=true); conn.open(); sqlcommand cmd = conn.createcommand(); for (int i = 0; i checkboxlist1.items.count; i+) if (checkboxlist1.itemsi.selected = true) string selectstr= checkboxlist1.itemsi.value; int aid = convert.toint32(selectstr); cmd.commandtext = update t

23、_answer set count=count+1 where aid=aid2; cmd.parameters.addwithvalue(aid2, aid); cmd.executenonquery(); cmd.commandtext = insert into t_ip(qid,ip,lasttime) values(qid,ip,lasttime); cmd.parameters.addwithvalue(qid, qid); cmd.executenonquery();cmd.dispose();conn.dispose(); response.redirect(viewresult.aspx?qid=+qid); 执行投票界面:同一ip限制投一票4.5 显示结果部分viewresult.aspx显示结果界面代码: 首页 问题: /asp:objectdatasource 票 显示结果界面类:viewresult.aspx.cs: public partial class viewresult : system.web.ui.page rotected void page_load(object sender, eventargs e) li

温馨提示

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

评论

0/150

提交评论