版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、投票系统摘要在积极建立科学管理机制的今天,仅仅靠原始的手工管理或简单的单机管理,管理部门面对大量的信息,无法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。投票管理者的决策只能依据手工表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。因此,先进的管理思想就成为了一个可望而不可及的目标。投票非常急需一套既有先进管理思想的系统,作为实现目标和提高现有投票管理水平的一种重要手段。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,在先进的计算机技术、通信技术、
2、控制技术及ic卡技术基础上,采用系统集成方法,逐步建立一个智能化的投票系统。编写在线投票系统,最重要的一点就是如何从烦琐的投票结果中,导出全部投票项目的票数,然后根据投票项目的各个票数,进行票数百分比计算,最后编辑出在线投票系统。开发该系统我主要采用asp技术和sql数据库相结合的方式。asp技术通过在静态html内容中嵌入服务器端脚本,实现网页内容的动态改变。web服务器从磁盘上读取含有服务器端脚本的网页,在网页发送给客户端浏览器之前,先对其中的服务器端脚本进行解释,输出用户定制内容,从而产生动态网页。数据库采用sql server 2000大型数据库,能够胜投票系统中的数据处理。本文在相关
3、理论指导下,在分析其他一些系统的基础上,开发出了一个简单的在线投票系统(包括功能模块设计、数据库结构设计等)基本解决了管理人员的烦琐事务。关键词asp 投票 数据库abstractbe building up vote to manage today of mechanism actively, only depend originality of the handicraft manage or the simple single machine manage, management dept. public appearance to a great deal of information
4、, can't efficiently will among them of importance part withdraw, and do a judgment and the processing for corresponding.decision which votes governor can according to the statement data, at waste a great deal of manpower, material resources can't in the meantime attain actually supervise and
5、 control, the accuracy of hard assurance data with in time sex.therefore, the forerunner's management thought carried out and then becamed an inaccessible target in the vote.the vote needs the management information that a set of current forerunner manages thought system urgently very much, is a
6、 kind of important means which carries out a target and raises an existing vote a management level.the technical along with science of raise continuously, the calculator science is gradually mature, the its strong function has already been people's deep understanding, it has already entered each
7、 realm of the society of mankind to erupt to flick a more and more important function. be a calculator applied one part, the teaching mission's arrange in order is a hard nut to crack, numerous high schools, research organizations and personals carried on a great deal of research and the develop
8、ment work from the theories and fulfillment.write on-line vote system, the most important one point be how plan from the trivial teaching medium, lead a teaching mission of demand, then the concrete need of every semester of basis, carry on the mission arrange in order to include mission to increase
9、,modify,delete, the teaching mission of the born and end performance. develop that system; i mainly adopt the way that the asp technique and the sql database combine together. the asp technique passes in the static state html contents to imbed a server to carry script, carry out the dynamic state ch
10、ange of the web page contents. the web server reads to imply the web page that the server carries script from the disk, before the web page send out to the customer carry a browser, the server won first as to its carries script to carry on explain, out put the customer makes to order a contents, pro
11、duce a dynamic state web page thus. the database adopts the sql server 2000 large databases, can be competent the data processing in the teaching mission. this text developed a simple on-line vote system(include a function mold a piece a design, database structure design etc.) on the foundation of t
12、he analysis a little bit other systems under the related theories instruction basic solved the manager's trivial business.key wordsasp vote database目 录前 言6第1章 编程环境及数据库71.1编程环境71.2 asp简介71.2.1 asp的技术特点71.2.2 asp对象使用基础91.2.3 asp的工作原理101.2.4 asp的运行环境111.3 数据库选择121.4 数据库接口的实现12第2章 数据建模132.1 数据库建模方法1
13、32.2 程序开发软件14第3章 需求分析与总体设计193.1 需求分析193.1.1 需求的提取193.1.2 需求定义与规约193.2 系统总体设计203.2.1 系统结构图203.2.2 数据功能模块设计203.2.3 系统的主要功能设计213.2.4 数据库设计21第4章 详细设计与实现254.1 投票界面模块的设计254.2 投票项目模块的设计284.3 投票结果模块的设计334.4 用户管理模块的设计374.4.1 管理员登录的设计与实现374.4.2 修改密码的设计与实现39结论41致谢42参考文献43论文附件44一、英文原文44二、英文翻译54前 言随着科学技术的不断提高,计算
14、机科学日渐成熟,互联网技术的不断发展和普及,众多高校,科研机构及个人从理论与实践两个方面进行了大量的研究与开发工作,涌现出了很多在线投票系统,对学院、企业的管理起到了很好的作用。总之投票系统概括起来就是要通过科学的管理手段和专业化管理技术来实现统一。在线投票系统应具有的独特的功能:其一,方便的操作。原有的手工投票管理基本上是人工操作,效率低下,缺乏方便性,在线投票管理系统运用计算机和其他附加设备,不再需要手工操作,基本上是全自动化,能够节省人力、最大限度地利用各种宝贵的资源,大大的提高了效率。 其二,友好的界面。友好的用户界面会给人一种亲切的感觉,在使用起来不会觉得沉闷,效率自然也会提高了。其
15、三,强大的功能,能够满足学校教学需要,快速简单的统计教学任务,提高教学质量。 正是在这样的情况下,本人在导师的带领下完成了在线投票系统的开发与实现。第1章 编程环境及数据库随着各高校办公自动化工作的推进,投票管理自动化也被摆上日程。通过dreamweaver与microsoft office access 2003的编程环境,采用asp代码和数据库开发一个动态的在线投票系统。1.1编程环境在该投票系统中,我使用asp和microsoft office access 2003相结合的综合开发环境,采用 odbc 作为投票系统与后台数据库的接口。投票系统开发平台是 windows xp。开发工具选
16、择的是dreamweaver mx。1.2 asp简介asp的简称是active server pages,目前没有正式的中文名称,可理解为“动态服务器页面”技术。asp是目前最流行的开放式web服务器应用技术,它的特点是将脚本、超文本和强大的数据库访问技术结合在一起,并提供了众多的服务器组件来扩展功能,能够很方便地创建分布式和基于web的商业化应用程序。如果要更简单地描述asp,可以说asp就是运行在web服务器上的动态网页。asp程序文件也是 一个标准的网页,一般由html标记和asp脚本代码混杂在一起组成。asp网页程序必须先经web服务器的asp解释器解释执行,产生html代码后才传送
17、给浏览器执行显示。1.2.1 asp的技术特点1、组件在asp技术中起着核心作用要想开发出具有实用价值的动态web应用程序,asp脚本必须与基于com标准的组件配合使用。组件对象模型是微软公司提出来的一种基于二进制的软件标准,与语言无关。visual basic、visual c+、visual j+等都能创建com组件,在不同的语言实现的组件之间,依据com标准可以进行交互操作。asp提供了10个内置组件。每个组件中包括一个或多个对象。在使用前,组件的对象需要被实例化。asp提供了6个内置对象,这6个内置对象可以被asp脚本直接使用,不需要被实例化。除了内置组件和对象,开发人员还可以自行制作
18、实现特殊功能的组件。2、采用ado技术访问数据库asp依据ado技术访问后台数据库,其内置的数据库访问组件adodb提供了一组优化的访问数据库专用对象集。uda(universal data access)是微软公司提出的适合企业范围并能够高性能地访问各种信息(包括关系型数据库和非关系型数据)的数据访问模型。它由odbc、oledb、和ado组成。·odbc提供了对关系型数据库系统的标准访问界面,已得到大多数数据库系统的支持。·oledb用于处理异构平台的关系型和非关系型信息,非关系型信息包括电子邮件、文件系统、文本、图形等。它还能使用已有的odbc驱动访问关系型数据库。&
19、#183;ado是以开放数据库连接odbc为基础的,可支持任何odbc数据源对数据库的操作;可以提供任何类型数据库与web服务起的访问方式。3、支持所有脚本语言除了支持vbscript、javascript外,asp还支持rexx、perl等多种脚本语言。vbscript是asp支持的默认脚本语言。若要重新设定默认脚本语言,只需在asp程序的第一行使用命令<% language=.%>即可。在同一个asp文件中,asp脚本可以调用不同的脚本语言,从而发挥各种脚本语言的优势。若要在asp程序中使用与默认脚本语言不同的脚本语言,可以将这段语言放于标志符<script runat=
20、server language=.>.</script>中。1.2.2 asp对象使用基础asp之所以成为功能强大的服务器端程序,是因为它为web程序设计人员提供了一组功能强大的内置对象。所谓的对象是指具有典型方法、属性或者集合的事物。方法决定了对象的功能;属性决定了对象的状态。使用asp进行动态网页设计时,必须熟练掌握asp的各种内置对象。asp提供的内置对象如表1-1所示。对象名称用途application对象application对象是所有用户共用的对象,通过这个对象,不同的用户间可以共享信息。在主页计数器中常常使用application对象来保存访问网页的人数aspe
21、rror对象捕捉asp错误并向用户返回详细信息描述objectcontext对象提交或中止有asp脚本启动的事件request对象获取从html表单传递给服务器的参数,这些参数的传递方式包括post方法或get方法、cookies(一种保存在客户端上的,用来保存网站信息的文件)以及客户端证书response对象控制发送给用户的信息,包括直接发送文本和html代码等信息到浏览器、把浏览器当前访问的网页重定向到其他url、设置cookie的值server对象通过server对象可以访问服务器上的方法和属性。其他方法可创建active组件的实例、对字符串进行编码、得到虚拟目录的实际路径、设置网页的超
22、时时间session对象存储特定用户的某些信息。当用户在不同的网页间跳转时,不会丢弃存储在session对象中的变量表1-1 asp内置对象列表通过这些内置对象,编程人员可以控制web页面的各个方面。例如使用request对象能够得到用户输入的数据,使用response对象能够向浏览器输入数据等。1.2.3 asp的工作原理当用户浏览网页时,客户端浏览器与web站点之间进行交互的过程如图1-1所示。 web服务器asp引擎*.asp客户端http请求浏览器其他组件脚本引擎ado标准页面odbcdbdbms图1-1 asp工作原理当浏览器向服务器请求发送某个“xxx.asp”时,是希望服务器传送
23、此文件。但是,但服务器看到文件的扩展名为.asp时,就会读取文件内容,解释执行其中的vbscript程序。当遇到基于com标准的组件(组件本身是经过编译的可重用二进制代码)时,asp引擎将启动相应组件完成指定的功能。若asp文件含有访问数据库的请求时,asp内置组件ado(activex data object)能与数据库连接,对数据库进行访问,并将访问结果返回服务器。最后,生成标准的html文件,并将生成的html文件传送给浏览器。这样就完成了用户浏览器对服务器的访问。1.2.4 asp的运行环境1、asp运行所需的环境·microsoft internet information
24、 server version 3.0/4.0 on windows nt server ·microsoft peer web services version 3.0 on windows nt workstation ·microsoft personal web server on windows 95/98 也就是说我们经常所使用的window 95/98/2000/xp都可以运行asp,只需要将其设置为单机服务器就行了。归结一点:window 95/98,需要安装pws;window 2000/xp,需要安装iis。才能发挥其asp的作用。一般较常使用的是win
25、dow 2000+iis5和window 98+pws,而window95+pws和window xp+iis则较少人使用。因为window 95已经很少人使用这个操作系统了,最少都使用window 98而xp+iis,则是xp对iis不是完全兼容支持,有些功能配合得不够完美,而较少人采用。我使用window 2000+iis5这对组合,因为window 2000是相对比较稳定的系统,对于服务器网络方面微软投入得较多,比较适合做为服务使用。2、asp运行环境的搭建iis的安装和配置。window2000 server/window2000 advance server都是默认安装的,安装过程就
26、不多说了。现在开始配置iis。开始->控制面板->管理工具->internet信息服务。打开之后就到了iis的控制台了。点计算机名前面的+号展开,再点网站前在的+号展开,这时就有一个默认网站,这里就是我们要配置iis的关键地方了。右击“默认网站”,在弹出菜单里选择“属性”这时就会弹出“属性”选顶卡。一般情况下“网站/常规”选项卡不要更改。选择“主目录”选项卡,本地路径就是我的主目录路径,这里可以点浏览更改到想设置的目录下,默认是:x:inetpubwwwroot(x:表示系统盘)。在这里还可以设置网站的用户操作权限。这些设置完后就转到“文档”选项卡,首先要在“启用默认文档”前
27、面打勾,默认是打勾的。点击“添加”,可以添加默认文档,例如添加index.asp、index.htm、index.html等等,这是你网站默认打开的主文件名,在这里也可以进行删除,选择你要删除的文档之后再点“删除”,现在“属性”选项卡基本设置好了,点应用、确定就返回到iis控制台了。1.3 数据库选择数据库平台采用的是sql server 2000。sql server 2000代表着下一代microsoft .net enterprise servers(企业服务器)数据库的发展趋势,是为创建可伸缩电子商务、在线商务和数据仓储解决方案而设计的真正意义上的关系型数据库管理与分析系统。随着sql
28、 server 7.0联机分析处理(olap)服务的引入,sql server已成为颇受众多客户关系管理(crm)应用程序、商务智能(bi)应用程序、企业资源计划(erp)应用程序及其它在线商务应用程序厂商和客户所青睐的数据库产品,而这则主要应归功于该产品在对称多处理(smp)硬件方面所具有的可伸缩性和较低的数据库维护需求。1.4 数据库接口的实现在 asp中,提供了多种数据库访问技术odbc、ado、oledb 等,这些技术各有自己的特点。该项目开发中采用了oledb 数据库接口技术。oledb是一种底层数据访问界面接口。是用于第三方驱动程序商家开发输出数据源到ado-技术的应用程序,由于o
29、le db是基于com接口的技术,使用这种技术可以直接对数据库的驱动程序进行访问,从而大大提供了访问速度2。第2章 数据建模2.1 数据库建模方法数据建模采用图形化方法来描述企业的信息需求和业务规则,也就是建立逻辑数据模型(以下简称逻辑模型),其作用有两个,一是与用户进行沟通,明确需求;另一个作用是作为数据库物理设计的基础,以保证物理数据模型充分满足应用要求,并保证数据的一致性、完整性。本文简要介绍idef1x方法。idef1x是由美国空军开发的基于关系数据库理论的数据建模方法,用以实现关系数据库的逻辑数据结构。目前已广泛应用于政府、工业和商业领域,支持广泛企业应用。 idef1x模型的基本结
30、构为:·实体(如人、地点、概念、事件等)用方框表示;·实体之间的关系(联系),用方框之间的连线表示;·实体的属性,用方框内的属性名称来表示。(1)建立逻辑模型逻辑模型的建立由用户需求驱动,建立逻辑模型的过程首先是分析信息需求、明确业务规则,它是人脑对现实世界进行抽象和加工的过程。(2)实施阶段:第一阶段:项目规划第二阶段:开发定义实体第三阶段:定义关系第四阶段:定义键第五阶段:定义属性(3)建立物理模型对一个给定的逻辑模型选取一个最适合应用环境的物理结构(即物理模型)的过程,称为数据库的物理设计。所谓数据库的物理结构主要是指数据库在物理设备上的存储结构和存取方法,
31、它与除了考虑逻辑的完美性(如第三范式)外,还必须兼顾物理环境的要求和性能的优化,如机器的性能、事务的种类、数据库管理系统的功能等。逻辑模型转变为物理模型包括以下几个步骤:实体名(entity)转变为表名(table)属性名(attribute)转换为列名(column),确定列的属性(property)明确分类关系在物理模型中的实现方法实现业务规则数据模型转变为sql命令,物理模型必须对列的属性进行明确的定义,包括:列名,数据类型(与特定数据库管理系统有关),长度,能否为空值,有效性规则,缺省值等。物理模型确定以后,可以进一步确定数据的存放位置和存储空间的分配,最后生成定义数据库的sql命令。
32、2.2 程序开发软件macromedia dreamweaver mx 应用所学的 asp语言,开发一个在线投票系统。一个可视化的网页设计和网站管理工具,支持最新的web技术,包含html检查、html格式控制、html格式化选项、homesite/bbedit捆绑、可视化网页设计、图像编辑、全局查找替换、全ftp 功能、处理flash和shockwave等富媒体格式和动态html、基于团队的web创作。在编辑上你可以选择可视化方式或者你喜欢的源码编辑方式。 dreamweaver mx 2004 的十大新特性: . 动态跨浏览器验证:自动检测标签和css规则来适应所有主流浏览器! .更强大的
33、css支持! .内建的图形编辑引擎:修剪,改变大小,尺寸,旋转角度,调节明暗度都不需要离开dreamweaver环境,因为它本身集成了fw的基本图形编辑技术.(这一点有模仿frontpage的嫌疑,但这个功能确实很实用)! .安全ftp:完全加密传输保证文件和帐号信息的安全! .增强对当今技术的支持:支持当今主流的开放环境:coldfusion,j2ee,php,.net,和其他主流的服务器技术.dreamweaver现在加入了xml命名空间支持,asp.net表单控件对象,新的参考书内容和新的php服务器端行为! .无缝整合外部文件和代码:直接将word和excel文档复制和粘贴到dream
34、weaver中,会保留字体,颜色,css样式表信息.使用,使用系统支持的编码保存任何字体,包括双字节字符集. .紧密整合mm的其他工具:加强了和mm其他几款产品的协同工作能力.例如:你可以通过dw直接设置flash组件的参数. .基本支持改良:插入条,表格工具都有改进! .增强代码编写工具:编辑代码更省时,例如右键编写代码工具,增强的查找和替换,高效的属性面板. .改进的设计开放环境:一个改良的用户界面,更高的实用性,非常亲切和有逻辑,让你快速找到你想要的东西,一个新的开始屏幕让你快速访问最近的文件和教程资源.本文主要运用visio 2003绘制了系统uml模型图。其主要系统uml模型图有:图
35、2-1 投票系统用例图图2-2 投票管理用例图图2-3 投票系统流程图第3章 需求分析与总体设计3.1 需求分析3.1.1 需求的提取前面已经阐述了在线投票系统在高校教学管理的重要性。目前以重庆邮电大学移通学院为例,移通学院每学期期末都会对开设新课程进行投票统计,邀请学生为各个课程在线投票统计。在线投票系统需要满足的条件:(1)系统自动把投票结果转换为百分比显示。(2)投票管理员可以对投票界面、投票选项、3.1.2 需求定义与规约通过一个在线投票系统,使管理人员能够根据学院状况,列出投票项目,在较短时间内、以较少精力获得一个比较实用的数据,从而使投票工作系统化、规范化、自动化,提高办公效率。在
36、线投票系统是移通学院教务管理系统的一个子系统,教务管理系统包括:教学任务的下发、课表的编排、网上选课、学生成绩的录入以及学籍管理等部分。在线投票系统开发应遵循以下要求:(1)尽量采用现有软硬件环境及先进的系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。(2)系统应具有可扩展、可复用的特点,能与投票系统接轨,数据库的设计应该具有通用性。(3)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于系统维护人员的调试与修改维护。(4)系统应具备数据库维护功能,及时根据需要进行数据的添加、删除、修改等工作。3.2 系统总体设计3.2.1 系统结构图系统主要有:界面
37、模块、数据库模块、投票统计模块三部分组成,系统结构如图3-1所示:界面模块调用投票统计模块显示数据数据库模块插入数据查询数据插入修改数据图3-1 系统结构图界面模块负责系统与用户的交互,它是系统与用户的接口部分,是实现人机交互功能的主要部分,它能调用数据库的入口函数,向数据库插入、修改、显示数据库内容,能调用投票统计模块,从而根据投票数据统计投票百分比。投票统计模块能根据一定的算法,排出合理的投票数量。它能调用数据库函数调用数据库数据,经过运算后,将新数据存入数据库的相应表中。数据库模块则定义数据结构,数据库的接口,定义数据库表的结构,自动完成对各种信息的输入、查询、修改及系统用户管理、系统用
38、户权限管理等。3.2.2 数据功能模块设计根据系统分析的结果,在系统功能分析的基础上,考虑 asp程序编制特点,得到如图 3-2 所示的系统功能模块图。在线投票系统投票项目投票结果权限管理编辑删除添加修改投票结果投票人数帐户管理用户登陆 图3-2系统功能模块图3.2.3 系统的主要功能设计在线投票系统的主要功能:投票结果的查询:主要是实现投票人员从数据库对各投票结果的查询。投票项目管理:主要是实现投票人员对各个投票项目进行编辑,生成。3.2.4 数据库设计1、数据库需求分析在线投票系统的数据项目是依据学院开设新课程制定的。根据系统开发的要求,从学院开设新课程中选取适当的项目作为系统数据库的数据
39、参数。在实际的工作中,在线投票系统的项目主要是根据学院任务来制定展开,因此与教学有相关的一些信息,如开设新课程等,都是学院需要统计的项目。结合学院开设课程任务选取了以下项目作为系统数据库的数据参数:(1)开设游泳课。让投票者根据网站界面进行投票。(2)开设就业指导课。让投票者根据网站内容进行投票(3)开设心理咨询室。让投票者根据网站内容进行投票(4)开设演讲课。主要分为讨论、解说、演讲等。(5)开设课外兴趣小组。根据不同学生开设。(6)投票系统更新。对各个选项能在第一时间内更新。2、数据库概念结构设计在系统的数据库设计中,先要对系统分析得到的数据图中的数据存储进行分析,分析各数据存储之间的关系
40、,然后得出系统的关系模式。本系统采用了实体关系图中的相应符号来描述系统的概念模型。在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为逻辑结构的设计打下基础。根据上面的设计出的实体有:投票选项实体、投票结果实体。投票选项实体属性具体描述如图 3-3 所示。投票选项部分投票系统更新课外兴趣小组开设演讲课开设心理咨询就业指导课开设游泳课图3-3课程实体投票结果实体的属性包括各个项目投票结果,各个项目投票人数,各个项目投票所占百分比。3、数据库逻辑结构设计数据库逻辑结构设计的任务就是把概念结构设计阶段设计的基本关系图,转换为与选用的具体相关的机器上的数据库管理系统所支持的数据
41、模型相符合的逻辑结构。在上面实体之间的关系的基础上,形成数据库中表格以及各个表格之间的关系。4、数据库物理结构设计明确了以上所要建立的数据库参数,便可建立关系型数据库。具体的结构是把数据表示成若干二维关系的表,通过建立表之间的关系来定义结构。在这种二维表中,每一列为一个字段,对应着表格中的数据项。每个项目的名称为字段名。每一行为一条记录,记录中的每个字段的取值为字段值,记录是字段值的集合。记录中的数据随着每一行记录的不同而变化。在线投票系统数据库中各个表格的设计结果如下面的几个表格所示。各个表格表示数据库中的一个表。表 3-1 为创建投票项目信息表 voteitem 的信息。字段名称数据类型大
42、小是否允许为空说明idint4否项目id号itemvarchar(50)8是项目名称votecountint150否投票数量,缺省为0表3-1voteitem的结构字段名称数据类型大小是否允许为空说明ipvarchar(20)4否ip地址表3-2voteip的结构参数soperate的值说明null无操作add添加记录(单击“添加”按钮时产生)update修改记录(单击记录后的“修改”链接时产生)edit修改记录(单击“修改”按钮时产生)delete删除记录(单击“删除”按钮时产生)表 3-3 参数soperate状态值的说明一般由多个用户来管理在线投票系统,因此需要对每个用户分配一定的权限,
43、实现信息的共享与安全。因此需要在数据库中建立一个用户口令表来管理使用在线投票系统的用户。5、数据库结构的实现在需求分析,概念结构设计基础上得到数据库逻辑结构以后,就可以在数据库系统中实现该逻辑结构。本系统中采用了 microsoft office access 2003数据库管理系统。使用 microsoft office access 2003创建前面所定义的各个数据表。第4章 详细设计与实现运用asp和microsoft office access 2003相结合开发投票系统,投票项目依据学院需要开设哪些新课程来制作,通过学生的投票结果统计确定下学期开设的新课程。以下就是设计投票系统步骤4
44、.1 投票界面模块的设计投票界面模块的功能是面向老师和学生的,因此不需要权限核实,进入系统页面后,点击“投票选项”即可进入。1、设计投票界面表单投票项目表单由3部分组成:·投票选项列表框用来选择相应项目进行投票。·投票按钮。相应代码如下:如果没有投票,则变量isvoted为1,可以投票。投票按钮代码如下:<input class=submit type=submit value=' 投 票 ' name="submit onclick='return selectchk();'>这是个可以选择多项的投票系统,在函数sel
45、ectchk中取得被投票项目信息,并提交/取得被投票项目的编号,打开新窗口,查看投票结果function selectchk()var s=false;var deptid,n=0;var strid,strurl;var nn = self.document.all.item("poster");var j;for (j=0;j<nn.length;j+)if (self.document.all.item("poster",j).checked)n = n + 1;s=true; deptid = self.document.all.item(
46、"poster",j).id+""if(n=1)strid = deptid;elsestrid = strid + "," + deptid;strurl = "postvote.asp?cid=" + strid;if(!s)alert("请选择投票项目!");return false;window.open(strurl,"newwin","toolbar=no,location=no,directories=no,status=no,menubar=no,s
47、crollbars=yes,resizable=yes,width=400,height=300");return false;function newwin(url) var oth="toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,left=200,top=200" oth = oth+",width=400,height=300" var newwin=window.open(url,"newwin&q
48、uot;,oth); newwin.focus(); return false;图4-2 投票界面2、根据选择查询数据库下面是实现该项功能的代码:和数据库建立连接的代码如下:<% 'server对象的createobject方法建立connection对象 set conn=server.createobject("adodb.connection") conn.connectionstring="driver=sql server;server=ntserver;uid=sa;pwd=sa;database=vote" conn.open
49、%>这段代码使用open方法连接数据库。use votegocreate table voteitem( idint primary key identity, item varchar(50) not null, votecount int default 0)创建表voteitem的脚本文件use votegocreate table voteip( ipvarchar(20)go表voteip用来保存已经投票的ip地址<%dim rs,nn = 0set rs = server.createobject("adodb.recordset")sql = &q
50、uot;select * from voteitem order by id"rs.open sql,conn,1,1if rs.bof or rs.eof then response.write "<tr><td colspan=3 align=center><font style='color:red'>目前还没有投票项目。</font></td></tr></table>"elsedo while not rs.eof n = n + 1 %>从数据库中
51、提取投票项目信息4.2 投票项目模块的设计投票项目模块的功能是进行投票选项的添加,修改,删除。可以根据每次需要投票的内容进行修改,添加,删除。1、验证用户是否登录因为只有管理员用户才有修改项目的权利,包括添加、修改、删除,所以系统需要验证想要修改投票项目的用户是否为管理员用户。通过验证用户的session对象的logined变量的值是否为1。如果session对象的logined变量的值不为1,则跳转到用户登录页面(admin.asp)。代码如下:<%if session("logined")<>1 then response.redirect "
52、;admin.asp" end if%>2、添加投票项目的设计与实现添加课程由以下几部分组成:·选择按钮框用来选择投票选项名称。·单行文本框用来输入投票名称。实现功能的关键代码如下:<%dim soperatesoperate = request.querystring("oper") '操作标记operid = request.querystring("id") '项目编号 if soperate="add" then '添加项目newtitle = request(
53、"txttitle")'判断数据库中是否存在此类别sql = "select * from voteitem where item='"&newtitle&"'"set rsinsert = conn.execute(sql)if not rsinsert.eof then response.write "已经存在此投票项目,添加失败!"else sql = "insert into voteitem(item) values('"&new
54、title&"')" conn.execute(sql) response.write"投票项目已经成功添加!"end ifelseif soperate = "edit" then '修改项目newtitle = request("txttitle")orgtitle = request("sorgtitle")'如果新类别名称和旧的不同则执行if newtitle<>orgtitle then'判断数据库中是否存在此类别sql = &quo
55、t;select * from voteitem where item='"&newtitle&"'"set rsinsert = conn.execute(sql)if not rsinsert.eof then response.write "已经存在此投票项目,添加失败!"elseconn.execute("update voteitem set item='"&newtitle&"' where id="&cint(operi
56、d)response.write"投票项目已经成功修改!"end ifend ifelseif soperate="delete" then '删除项目 sqldelt = "delete from voteitem where id in("&cstr(operid)&")"conn.execute(sqldelt)response.write "投票项目已经成功删除!"end if%>删除项目function sltall()var nn = self.docu
57、ment.all.item("dept");for(j=0;j<nn.length;j+)self.document.all.item("dept",j).checked = true;function sltnull()var nn = self.document.all.item("dept");for(j=0;j<nn.length;j+)self.document.all.item("dept",j).checked = false;得到要删除的项目的编号,然后删除项目function selectchk()var s=false;var deptid,n=0;var strid,strurl;var nn = self.document.all.item("dept");for (j=0;j<nn.length;j+)if (self.document.all.item("dept",j).checked)n = n + 1;s=true;deptid = self.document.all.item("dept",j).i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024素质教育行业发展趋势报告
- 《如何正确对待批评》课件
- 手术术前访视科普
- 春季皮肤护理课件
- 《n阶方阵的行列式》课件
- 《磁光效应及其应用》课件
- 《妇产科学》课件-19.1宫内节育器
- 《新员工培训课程》课件
- 同济大学中德学院双学位信息
- 员工绩效管理系统-20220519233333
- 临床常用血液成分与输血适应症
- 《燃烧性能测试》课件-第二节 氧指数测试
- DB32/T 4446-2023 公共机构能源托管规程
- 初中英语名词单复数专项训练题目
- 面神经微血管减压术护理
- 2.贵州省地方标准项目申报书
- “读思达”教学法在整本书阅读教学中的实践
- 盐酸右美托咪定鼻喷雾剂-临床用药解读
- HSK 2标准教程(完整版)
- 新HSK1-6词汇大纲文档
- 医院保密工作培训课件
评论
0/150
提交评论