端运行,传送到浏览器上的 Web 页是在 Web 服务器上生成的。所以不必担心浏览器能否处理脚本:Web 服务器已经完成了所有脚本的处理,并将标准的 HTML 页面传输到浏览器。由于只有脚本的结果返回到浏览器,所以服务器端脚本不易复制。用户看不到创建他们正在浏览的页的脚本命令。SQL数据库也是一种很常用的实用性、可靠性、安全性都比较好的数据库,采用这种数据库进行设计只要你安装了微软的Office软件(并且选择SQL)就可以使用了。另外还要安装一个网站开发环境软件Macromedia Dreamweaver MX,然后再安装一些其它的辅助工作软件如:图片处理软件Photoshop 7.0; Flash MX;Fireworks等软件。还这些软件的获得和使用都不会成为设计中的关键难题。
在Internet上实现投票系统,需要web服务器和数据库服务器的支持,支持服务器运行的操作系统,可以采用Windows2000 Server, Windows 2000 Professional或Windows 2003 Server等,以上操作系统都是内置 IIS 5.0(Internet Information Services5.0),ASP(Active Server Pages)程序是在Microsoft IIS的Web服务器端执行的脚本,通常是由ASPScript或Java-Script撰写而成,它能够把HTML语言,脚本语言,COM(Component Object Model)组件等有机地结合在一起,由服务器解释执行,按用户要求提交给客户端,而无需客户端的执行.ASP使用的Active技术基于自已的动态网页,具有很好的扩充能力;ASP还利用AD0(Active Data Object)方便地访问数据库,以此开发出基于WWW的应用系统;我们的投票系统.可以通过执行WEB服务器端的IIS程序来访问数据库服务器端的SQL数据库而实现
投票系统实现
在线投票功能是网站应用程序最常用的功能之一,也是网站应用程序开发常用的功能模块。当网站的管理员或用户提出一些新的想法与建议或者出现一种新产品时,他们可能需要通过用户或者客户的投票方式来确定这些新的想法、建议或者新的产品是否满足用户或者客户的需求,另外,网站还可以通过网站在线投票功能做一些实际性的调查工作。本章介绍的网络在线投票系统还以直观的图形化界面显示投票信息,而且还可以及时查看投票的情况。
投票系统实现
创建好系统所需要的数据库之后,网络在线投票系统的具体实现可以分为下面3个部分:
(1)存储过程的实现部分;
(2)数据库访问层的实现部分;
(3)功能页面的实现部分。
下面将详细介绍上述3个部分的具体实现方法。首先在Microsoft Visual Studio .NET 2005中创建一个Web站点,名称为“WebVote”。
2.1 存储过程设计
在数据库WebVoteDB中创建存储过程Pr_GetVotes、Pr_GetSingleVote、Pr_AddVote、Pr_UpdateVote和Pr_DeleteVote。其中:
Pr_GetVotes 从投票项目表Votes中获取所有投票项目的信息;
Pr_GetSingleVote 从投票项目表Votes中获取某一条投票项目的信息;
Pr_AddVote 添加一条新记录到投票项目表Votes中;
DBASE和Paradox的文件。ASP把许多BDE功能加入到构件中,从而使它成为三个产品中数据库开发能力最强的一个。ASP2.0新加入的一个特点是,用户不需要第三方的开发工具,直接能够在ASP的集成环境中进行数据库操作。
ASP的Data SQL提供了ASP用于访问数据库的对象,包括建立连接、访问数据、查询内库等等。Microsoft Database Engine(BDE)则是ASP数据库方案的核心,ASP是通过BDE来与Oracle、Sysbase、Informix、In-terbase、DB2以及Microsoft SQL Server等数据库通讯的。使用ODBC标准接口,ASP也可以访问DBASE和Paradox的文件。ASP把许多BDE功能加入到构件中,从而使它成为三个产品中数据库开发能力最强的一个。ASP2.0新加入的一个特点是,用户不需要第三方的开发工具,直接能够在ASP的集成环境中进行数据库操作。
2.2 关系型数据库的实现
ASP 也是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。关系数据库是已开发的最通用的数据库之一。SQL SERVER 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
1.用SQL语句和存储过程进行数据更新
通过数据源对象返回的查询集不仅包含了数据,而且也包含了元数据(metadata),在有些时候元数据可能比数据本身还要大,所以最好采用SQL语句来更新数据。还有要使用存储过程而不是单一的SQL语句来获取信息。因为存储过程是在服务器端执行的,只把结果返回到客户端,这样一方面可以降低网络进行数据交互的开销,另一方面使系统更加容易维护,并且能保持数据的一致性。
2.只查询所需要的数据
尽管很多开发人员都习惯采用“SELECT * FROM TBL”的模式进行查询,但是为了提高系统的效率,如果只需要其中某几个字段的值,最好把这几个字段直接写出来,同时需要限定返回记录集的范围(通过WHERE子句进行限定)。
2.3 本次设计的程序设计分析
本次开发使用ADO连接数据库。
数据库系统是在文件系统的基础上发展而来的,经历了层次数据库、网状数据库、关系数据库三个阶段。由于关系数据库采用人们比较容易理解和接受的二维表格来组织数据,发展迅速,已成为数据库产品的主流。
本系统的前端开发是使用ASP技术,通过JavaBeans进行逻辑控制和数据库连接,而后台数据库采用的是SQLServer2000。SQLServer2000数据库管理系统是一项全面完整的数据库与分析产品。SQLServer2000非常容易学习、使用,介绍、学习资料比较多,SQLServer2000全面支持Web功能的数据库解决方案,与此同时,SQLServer2000还在可伸缩性与可靠性方面保持着多项基准测试纪录,而这两方面特性又都是企业数据库系统在激烈市场竞争中克敌致胜的关键所在。无论以应用程序开发速度还是以事务处理运行速度来衡量,SQLServer2000都堪称最为快捷的数据库系统。
对比SQLServer2000和其他的大型数据库管理系统,SQLServer2000 具有可靠的安全性,较快的存储速度,高度的兼容性,简单易用,应用SQLServer2000作为后台数据库为系统的开发提供了强有力的支持,并对以后软件的运行提供了坚实的基础,因此,我们采用了SQLServer2000作为后台数据库。
4.2 数据库表设计:
本系统的数据库其中包括九个表,分别为投票投票型号表book, 用户注册表member, 管理员表admin, 投票类型表booktype, 评论表commont, 购物车表gouwuche, 新闻表news,定单表num,定单详细信息表orderbook。详情请见下面的数据库表: