《毕业设计(论文)-基于asp的网上在线考试系统设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
基于ASP的网上在线考试系统目录第一章引言1第二章研究现状及设计目标12.1相近研究课题的特点及优缺点分析12.2现行研究存在的问题及解决办法1第三章开发环境及工具23.1环境:23.2开发工具的选用:2第四章系统流程与规划34.1系统规划34.1.1考试题库的规划34.1.2密码和认证表单的设计34.1.3设计教师选题系统34.1.4检查考题的难易程度34.2系统流程图34.3库结构设计44.3.1密码验证表MA44.3.2考生登记表KSXX44.3.3试卷表XUANZE44.3.4成绩表CJB5第五章系统的实现55.1关键技术55.1.1ASP技术55.1.2ADO技术75.1.3SQLServer数据库85.1.4VBScript及JavaScript脚本语言95.2实现方法105.2.1数据库连接方式105.2.2用IIS配置Web服务器115.3界面设计125.3.1登录界面。125.3.2考试界面135.3.3成绩汇总界面145.3.4试卷管理界面145.3.5试卷修改界面145.3.6添加试题改界面155.4程序流程及具体实现方法155.4.1考试主页程序:shuoming.asp165.4.2登录界面程序:dl.asp165.4.3考生身份认证程序:reg02.asp165.4.4考试试卷生成程序:chouti.asp18 5.4.5试卷批改与成绩入库程序:yuejuan.asp195.4.6查询成绩程序:cfen.asp19第六章系统运行效果196.1系统测试及运行效果196.2自我总体评价196.3改进意见19第七章结束语19致谢19 基于ASP的网上在线考试系统[摘要]:本网上考试系统是应用DreamveaverMX2004网页制作软件和运用ASP技术开发出来的网上在线考试系统,真正实现了无纸化考试。本文主要阐述了网上在线考试系统的基本设计思想及其编程的技术环节,着重介绍了有关网上在线考试系统的考生考试模块(考生登录与认证、试卷的形成、试卷的批改和成绩的查询)的设计过程以及实现的关键技术思路。[关键词]:网上在线考试、ASP、SQLSERVER、B/S模式、ADO、SQLServer、VBScript[Summary]:"haveanexaminationsystemonlineonthenet"touseDreamveaverMX2004webpagemakingsoftwareanduseASPtobethattechnologicaldevelopmentcomeouttohaveanexaminationthesystemonlineonthenet,Havereallyrealizedthathasanexaminationwithnopaperatall.Thistexthasexplainedandhasanexaminationthebasicdesignphilosophyofthesystemandtechnologicallinkofprogrammingonlineonthenetmainly,Recommendandhavesomethingtodoandhaveanexaminationsystematicexamineehaveanexaminationmoduleonlineonthenetemphaticallywhether(examineebetweenlog-inandauthentication,forming,correctandinquiryofscoreofpaperofpaper)keyindesignprocessandrealizationtechnologicalfortrainofthought.[Keyword]:Haveanexaminationonlineonthenet,ASP,SQLSERVER,B/Smode,ADO,SQLServer,VBScript 第一章引言随着科学的飞速发展,Internet这个昔日只被少数科学家接触和使用的科研工具已经发展成了普通百姓都可触及的大众型媒体传输手段。随着用户的急剧增加,Internet的应用迅速进入到文化、产业、经济、政治、新闻、体育、娱乐、商业和服务业。随着校校通工程的和中小学校园网的形成,网上学习和教学成为Internet的一个重要领域。它使人们可以不受时间、地域、教学水平与教学层次限制,通过Internet这一电子媒介,向人们展示了一种全新的、有别于传统的学习模式。通过这种方法,人们可以足不出户,可以因人而异,把适合自己水平的教学课程通过Internet搬到家里,通过生动、形象的学习,迅速掌握自己所需要的知识。网上在线考试就成为考试方式中非常重要的一种形式,它可以变集中考试为分散考试;克服了考试阅卷过程中的人为因素,提高了考试的质量和效益。中小学网上考试系统建立已势在必行。本课题的开发目的正是基于这种需求而提出的。网上在线考试系统共分三个模块:考生考试模块、教师题库管理模块和成绩管理模块。本文主要介绍这三个模块中最重要的考生考试模块。考生考试模块分为:考生身份识别单元、试卷形成单元、试卷批改单元、成绩查看单元。其中考生身份识别单元主要允许在一定要求下合法的考生进入考室参加考试;试卷形成单元主要是根据教师的需求随机从试题库抽题生成试卷或将指定的试题作为试卷;试卷批改单元主要是机改工作并将成绩存入成绩库;成绩查看单元是考生用考号查看自己的成绩。第二章研究现状及设计目标2.1相近研究课题的特点及优缺点分析计算机考试系统由单机版发生到局域网络版再到互联网版,现在,网上在线考试系统是最具生命力的,单机版的计算机考试系统已经成为历史,局域网络版的考试软件比较安全、稳定,但只能在局域网内部范围内不适应远程教学,目前,网络程序正在向集中和分散两上方面分化,即client/server模式和point—point(p2p)模式c/s模式的网络程序主要用于企业、团体和单位,而p2p模式主要用于个体和个体之间的交互。网上在线考试系统的设计主要是基本web平面和B/S模式,主借助于浏览器作为客户端软件,web平面是服务端主要运行系统,几乎所有的高中都拥有自己的网上在线考试系统,但由于众所击知的原因,原代码均未分开。但由于网上在线考试具有前两种考试系统无法具有的优点:即远程性和实时性,所以现在中小学校也正在加大网上在线考试系统的开发。2.2现行研究存在的问题及解决办法网上在线考试系统具有十分诱人的前景,但目前仍未大范围的采用,因为在下面问题尚未解决以前,永远都不会有实现的一天。现在我们一起来看看以往网上在线考试系统失败的原因。(1)只要利用检查---原始文件的方式,就可看见考题的答案,完全没有隐密性。(2)每位学生的考题都一样,只要有一个满分,全班也都满分。(3)没有权限的设置,甲学生可以请乙学生代考。(4)同一名学生一次考试不满意,可以一考再考(刷新),直到满意为止。(5)每次考试出题时,都必须重新设计一次网页,将题目写上,非常的不切实际。(6)只有科目的分别,没有真正的考试范围,试想谁会一次考一整本书的内容呢?(7)虽然随机出题,但谁知道那些题目适不适合学生回答?难易适不适合呢?第33页共33页 (8)虽然通过数据库的方式存放题目,但可以变化的弹性太小了。(9)题目类型不多,主要用于选择题,判断题和标准填空题。以上列出的是设计网上在线考试系统遇到的困难与缺点,要真正解决这些问题是有相当难度的。为解决上述大部分缺点,本软件系统从题库的构建、学生考试资格的认证、老师网上出题选题、考题范围的设限、难易度的挑选、随机取样题目、防止作弊的设计,到全班成绩的排行榜等看,让网上考试系统有了很大的改进。第三章开发环境及工具3.1环境:(1)软件:(a)Windows2000Server(b)InternetExplorer7(c)Web服务器软件(IIS5.0)(d)SQLServer2000(e)ASP2.0以上(f)DreamweaverMX2004(2)硬件:(a)CPUPII以上(b)内存128M以上(c)硬盘10G以上3.2开发工具的选用:Windows是世界上最为流行、使用最为广泛的微机图形化界面的操作系统。因此,我们选用了windows及其自带的explorer浏览器作为web站点的工作平台及www信息浏览窗口。IIS(InternetInformationServer)5.0是在Windows2000操作系统中整合最完美的Web服务器软件,目前只有IIS和PWS(PersonalWebServer)支持ASP(ActiveServerPages),因此,这里我选择IIS5.0作为Web站点的开发和测试平台。开发基于B/S模式的《网上在线考试系统》,免不了需要进行web主页的编辑与设计。Micromedia公司的DreamweaverMX2004无疑是我们的最好选择。Dreamweaver具有强大的多媒体网页设计功能,是一款所见即所得的网页编辑软件。使用它,你不需懂得HTML语言就可以轻松地制作出自己的主页。Dreamweaver能方便地和其他图象编辑软件以及文字编辑软件高度紧密的结合,并具有开放的插件环境。你可以在网页使用插件来实现各种各样的特殊效果。如果是设计的Web应用项目的连接规模较少或者应用于小型的Intranet,我们可以选择桌面型数据库系统Access。本着系统设计的可扩充能力与适应性,进一步为未来系统的商业应用以及高的连接访问量,因此,我们选用了Microsoft的企业级规模的大型数据库系统SQLserver2000作为服务器端的数据库。ASP是服务器端脚本编写环境,使用它可以创建和运行动态、交互的Web服务器应用程序。使用ASP可以组合HTML页、脚本命令和ActiveX组件以创建交互的Web页和基于Web的功能强大的应用程序。ASP应用程序很容易开发和修改。其原理是:当客户端的浏览器从Web服务器上请求.asp文件时,ASP脚本开始运行。然后Web服务器调用ASP,ASP全面读取请求的文件,执行所有脚本命令,并将Web页传送给浏览器。由于脚本在服务器上而不是在客户端运行,传送到浏览器上的Web页是在Web服务器上生成的。所以不必担心浏览器能否处理脚本:Web第33页共33页 服务器已经完成了所有脚本的处理,并将标准的HTML传输到浏览器。由于只有脚本的结果返回到浏览器,所以服务器端脚本不易复制。用户看不到创建他们正在浏览的页的脚本命令。在ASP网页制作中,用来存取数据库的对象统称ADO(ActiveXDataObjects),ADO是一项容易使用并且可扩展的将数据库访问添加到Web页的技术。ADO组件的功能十分强大,组件拥有的对象相当多,可以使用ADO去编写紧凑简明的脚本以便连接到OpenDatabaseConnectivity(ODBC)兼容的数据库和OLEDB兼容的数据源。第四章系统流程与规划4.1系统规划根据前文论述展开网上考试系统的观点,这里将其划分为以下几具设计重点:(1)考试题库的规划(2)密码与认证表单的设计(3)设计教师选题系统(4)检查考题难易程序(5)防止舞弊的设计(6)查看考试结果与排名4.1.1考试题库的规划如果没有考试题库,在每次要考试时,就得划大部分时间在考题上,不论是自己出题,还是编写网页,对老师来说都是一大负担。基于这个原因,笔者决定分离题目,而后根据需要,建立自己的考试数据库。4.1.2密码和认证表单的设计不管是参与考试的学生,还是参与出题的教师,在网页中一定要有认证手续,否则任何一个人都可以参加考试,就失去了计算成绩的意义。在网页中加上登陆认证手续,可以让教师在网上出题,如果没有认证就能出题,那岂不天下大乱。此外,学生的成绩是各自独立的,总不希望看到乙学生登录甲学生的帐号考试吧?这也是防止作弊的一个作法。4.1.3设计教师选题系统有了密码认证的保护,让教师在网上直接出题的梦想就可以实现了。考试题目的生杀大权是掌握在教师手中的,所以必须设计一套良好的选题系统,让教师们可以轻松的在网上完成选题和出题的工作。借助于Internet校园网,让教师可以在家里出题,省去了自己设计题库的网页与到学校出题的不便,本章的网上在线考试系统是B/S模式,所以它具有Internet功能。4.1.4检查考题的难易程度在传统的考试中,教师出考题以前,都会先在参考书上选题目。但由于要在众多题目中寻找,十分浪费时间,况且在出题目之后,若发现题目偏难或太简单,就要重新再抄一次题目。现在从题库系统中挑选难易适中的考题,就再也不是多大问题了,唯一要做的就是检查计算机选出的题目,适不适合学生回答。防止舞弊的设计考试最怕的就是学生作弊,传统的考试作弊不外乎小抄、泄题、同学间的支持等等。那么网上考试呢?说到网上考试,其作弊的行为就算多样化了,例如:如果学生考试不如意,重新登录网页再考查看网页原始文件中的标准解答,尝试从网页中下载题库文件,或是参考同学的答案等等。4.2系统流程图第33页共33页 题库管理模块登录验证身份成绩管理模块学生考试模块教师学生4.3库结构设计在网页编程中,后台数据库处于十分重要的地位。本系统使用的数据库是SQLSERVER2000。数据库名为JSJSTK,程序将使用该库中的表有:密码验证表MA、考生登记表KSXX、试卷表XUANZE和成绩表CJB。4.3.1密码验证表MA该表主要是由教师输入合法考生的身份资料,是决定考生能否参加网上考试很重要的一个表。在前面的程序流程图中,验证考生身份的依据就是该表。表结构设计如下:字段名类型长度字段说明khint8考号xmchar10用户名mmchar10密码这里的kh一般为学生在校学籍号。4.3.2考生登记表KSXX该表是用来保存考生进入考室后的资料,主要起标志作用。如果考生进入了考室,那么其相关信息就记载下来。这样做的好处是可以防止考生重考,因为考生登录时通过身份验证后要到该表中检查有无该考生的记录,若没有方可参加考试,若有说明考生已经考过了企图重考将结束考试程序。表结构设计如下:字段名类型长度字段说明khint8考号xmchar10用户名xxdzchar20班级4.3.3试卷表XUANZE该表主要是由教师在题库管理模块中出题形成的试卷,试卷产生形式主要有两种:随机从题库中按教师给定的条件产生和由教师人工从题库题形成试卷表。这里的表XUANZE就是教师人工从题库题形成的。表结构设计如下:字段名类型长度字段说明timuchar300题目achar100选项abchar100选项bcchar100选项c第33页共33页 dchar100选项ddaanchar1答案4.3.4成绩表CJB该表主要是用来存放考生成绩的。在前面的程序流程图中,查看考生成绩就是该表。表结构设计如下:字段名类型长度字段说明khint8考号xmchar10用户名cjint4成绩xxdzchar20班级第五章系统的实现5.1关键技术5.1.1ASP技术ASP技术是一种类似HTML(HypertextMarkupLanguage超文本标识语言)、Script与CGI(CommonGatewayInterface通用网关接口)的结合体,简单的讲它是一种运行于服务器的脚本语言,但是其运行效率比CGI更高、程序编制也比HTML更方便且更有灵活性,程序安全性及保密性也远比Script好。其特点归纳如下:ASP可以和HTML或其他脚本语言(VBScript与JavaScript)互相嵌套。ASP是一种在Web服务器端运行的脚本语言,因此,程序代码完全保密。ASP以对象为基础,因此可以使用ActiveX控件继续扩充其功能。ASP内置ADO组件,因此可以轻松地存取各种数据库,大大缩短了程序开发时间。ASP可以将运行结果以HTML的格式传送至客户端浏览器,因此ASP可以适用于各种浏览器。5.1.1.1ASP及其平台运行机理介绍ASP是如何让客户看到那些动态生成的页面的,这个由我来一步步说明。用户想看一个xxx.asp的内容,就和浏览普通网页一样,那么浏览器就发出一个请求"Getxxx.asp",之后IIS就收到了这个请求并发现调用的页面后缀名是ASP。经过一些简单的验证以后IIS就把手中的接力棒交给一个专门处理ASP的动态联结库,这个联结库自己有一个缓存,她一边解释这个ASP文件一边就按照程序里的要求把输出结果放到这个缓存里。最后全部解释完毕,这个缓存的内容就全部倒还给IIS,由IIS把这些结果当作一个普通网页一样(其实调用网页时也是把网页内容读入缓存再传送给用户)返回给终端,然后么……然后你就看到一个内容丰富的ASP页面了。既然ASP是运行在Windows2000下,如果你使用了NTFS就一定要注意权限问题,否则有的要吃苦了。所以关于IIS的安装和虚拟目录的设置,稍后也会在文中着重指出。 微软的ASP技术是一种运行于服务器端的脚本编写模型,它使开发者可以使用几乎所有的脚本语言(VBScript、Jscript或Perl等)编写脚本,这些脚本可以执行应用程序逻辑,并能够调用ActiveX组件执行特殊任务,如数据库查询、文件输入输出等。它将IDC的简单性和ISAPI的灵活性综合在一起。自从MicrosoftIIS3.0(InternetInformationServer3.0)出现以来,微软提出并一直致力于发展ASP技术。至今,ASP技术得到了进一步的发展,在IIS4.0中提供了ASP脚本调试工具、事务处理、新的ActiveX组件、RDS等新特性。5.1.1.2ASP的内置对象第33页共33页 Request对象,我们知道HTTP通讯协议是一种请求与响应(Request/Response)的通讯协议,因此通常由客户端向Web服务器提出请求,Web服务器才会响应信息。因此在ASP中,特别将“客户端提出的要求”与“Web服务器响应的信息”等动作封装成Request对象与Response对象。换而言之,Request对象通常包含了用户端的相关信息,如浏览器的种类、表头信息、表单参数及cookies等等。Response对象,每一种程序语言或开发工具一定都有与用户沟通的界面或函数,ASP也不例外。在ASP中负责将信息传达到用户的对象就是Response对象。Server对象,Server对象允许用户取得服务器提供的各项功能,例如,Server对象的CreateObject方法允许客户端用户建立一个ActiveXServer组件实例,其所建立组件实例会随着服务器端完成ASP网页的处理而自动被释放。如果希望此对象实例可以跨多个ASP网页,就要用到Session对象保留该组件实例,直到Session对象的运行时间到了,或是在其他ASP网页调用Session对象的Abandon方法,此组件实例才会被释放。Session对象,Session对象在ASP程序编写中占了相当重的份量,由于网页是一种无状态的程序,因此几乎无法知道用户的浏览状态。必须通过Session对象记录用户的相关信息,以供用户再次对此Web服务器提出要求时作确认,例如,在某些特定的网页中,常需要用户输入确认的账号和密码,假如这些身份确认的结果无法保留,那岂不是每一个网页都需要重新输入一次密码。换而言之,每一个Session的用户,Web服务器均会自动的为它们建立一个Session。必须说明,Session对象只能适用于具备Cookie功能的浏览器。在本系统中,鉴于Session的重要性,下面着重述之。Session对象拥有对每一用户会话元素的引用。ASP会话开始于用户首次访问一个ASP应用的页面。该次访问从打开浏览器或登录到应用开始,直到用户退出应用(如果应用是提供此项功能),关闭浏览器或超时。许多Session属性(如,CodePage和Lcid)是特别针对国际化要求的。其他的则用于Session自身,如超时值和当前会话中用于跟踪用户的会话标识符等。实际上Session对象的一个限制是SessionId作为Cookie存储。它要求客户浏览器必须支持Netscape格式的Cookie.和Application对象一样,可以将对象及其值添加到session对象中,你可以直接由session对象访问一个值,或是直接从Contents或staticObject集合枚举或检索一个指定的值。(与Application对象不一样的是,但是这样做会将SESSION对象捆邦到一个特定的线程上-这意味着客户请求只能由指定线程处理,而不是下一个任意可用的线程。这将严重地影响性能。下例添加了一个Showcontents的方法,这个方法枚举了contents集合的内容,并进行测试以保证访问到的是一个字符串。如果是,则显示它。project为asp007class为sesisnobjSubShowContents()dimobjcontentasobjectcontextdimsesnobjassessiondimresponseobjasresponse'访问内置对象Setobjcontext=Getobjectcontext()Setresponseobj=objContext("response")Setsesnobj=objcontext("session")'枚举集合中的值'输出字符串dimitmsesnobforeachitminsesnobj.contentsifVartype(itm)=vbstringthen第33页共33页 responseobj.writeitmresponseobj.write""endifnext'清空Setsesnobj=nothingSetresponseobj=nothingSetobjcontext=nothingendsub为了测试组件下面的ASP脚本创建了Contents集合中的五个项目,然后再调用组件方法:实际上可以放弃session对象,并释放其点用的资源。举个例子,下列代码放弃了session对象,然后访问该对象,调用RseponseTst方法objWriteHeader:setsessnobject=objcontext("session")sessionobject.abandonvalue=sessnobject.value("value")在调用abandon方法之后,Session对象排队等待被撤消,但是只能在当前脚本完成后。因为组件方法是在脚本中被调用的,所以,在对象撤消之前组件方法就已完成。除放弃Session对象以外,还可以为Session设置一个超时时限,以保证会话不会闲置太长的一段时间,维护一个开放的会话要消耗服务器资源,因此可用一个超时时限防止用户登录到一个会话后让计算机及会话运行使用计时器还可防止破坏会话安全,防止不在时其他人访问客户机,然后再访问需要保密的会话信息,超时时限可通过timeout属性进行设置,如下所示:sessnobject.timeout=20'超时时限为20分钟一旦会话超时,session对象拥有的任意对象就被删除,访问session对象的任意一成员都会导致错误,如果组件开发者在依赖于session变量和常量创建组件时做好计划就不会发生这样的错误事件。 session信息通常可用于使用于应用国际化。一个用户可能选择用俄语浏览asp应用。session对象的LCID和CodePage属性分别反映了应用中的字符串类型和asp页面使用的字符集类型。LCID属性通常用于辩别特定信息,如日期和时间采用何种形式、字符串如何排例以及其它信息。CodePage属性确定符号怎样映射到一个字符集。例如,若要设定CodePage为俄语的,须做如下设置:sessobject.CodePage=866当然客户建立后必须使用特定的CodePage和LCID值,你可以在Windows2000操作系统的帮助中找到这方面的信息.(sesson对象还有一个对话标识sessionID的引用,这个引用永远不会直接被组件开发者作为一个数据库或其它标识符,它的目的仅仅是作为一个客户浏览器与WEB服务器应用之间的会话标识符.)5.1.2ADO技术ADO(ActiveXDataObjects)是微软公司提供给网页开发者在网页中存取数据库的最新技术,它也是ASP内置的重要组件,ADO主要的目的是为了存取或修改数据源的数据、或增加数据到指定的数据源,数据源不仅包括数据库,而且包括dBase、Excel、Foxpro、Access或文本文件等一些小型的数据表,所以,只要是ODBC驱动程序所能存取的数据源皆是ADO存取的对象。ADO主要是由Connection对象、Command对象、Parameter对象、Recordset对象、Field对象、Property对象及Error对象等七个对象与Fields数据集合、Properties数据集合、Parameters数据集合及Errors数据集合等四个数据集合所组合而成,其功能概述如下。5.1.2.1ADO提供的七个对象:Connection对象负责与指定的数据源进行连接,除此之外,它还可以通过事物(Transaction)来确保在事物中所有的数据源变更的全部成功。第33页共33页 Command对象负责对数据库提供请求,也就是传递指定的SQL命令。换而言之,Command对象必须经过一个已经建立的连接(Connection对象)发出数据操作语言(DML,DataManipulationLanguage)来操作数据源的数据,这些命令通常包括INSERT(增加记录)、DELETE(删除记录)、UPDATE(更新记录)、或是SELECT(以Recordset的形式选取数据)等。除此之外,也可以通过Command对象对数据库发出数据定义语言(DDL,DataDefinitionLanguage),例如CREATETABLE(建立数据表)、DROPTABLE(删除数据表)或ALTERTABLE(修改数据表结构)等。Parameter对象负责传递Command对象所需要的SQL命令参数。RecordSet对象负责浏览和操作从数据库取出的数据,换而言之,RecordSet对象就象是一个二维的数组,数组的每一行表示一个数据记录,而每个数剧列包含一个或多个数据字段,即Field对象。Field对象表示指定RecordSet对象的数据字段。Property对象表示ADO的各项对象属性值,换而言之,每个ADO对象都会有一组描述和控制对象行的属性。Error对象负责记录连接过程所发生的错误信息。5.1.2.2ADO提供的四个数据集合:Connection对象包含Errors数据集合,在Errors数据集合中包含数剧源响应失败时所建立的Error对象。Command对象包含Parameters数据集合,在Parameters数据集合中包括Command对象所有的Parameter对象。RecordSet对象包含Fields数据集合,在Fields数据集合中包含RecordSet对象的所有Field数据字段对象。Connection对象、Command对象、RecordSet对象与Field对象皆包含一个Properties数据集合,在Properties数据集合中包含所对应Connection对象、Command对象、RecordSet对象与Field对象的Property对象。ADO的七个对象及四个数据集合相互的关系图如下:图2ActiveXDataObject关系图5.1.3SQLServer数据库本系统所使用的数据库服务器为SQLServer2000,SQLServer2000是基于客户/服务器(Client/Server)结构的关系型数据库管理系统(RDBMS)。它在SQLServer7.0的基础上,扩展了SQLServer的总体功能与性能、工具界面更加方便合理、全面的数据完整性保护、系统安全性更高。SQLServer2000第33页共33页 摒弃了老版本中的Device,数据库空间不会受限于Device空间大小,方便了数据空间的扩展,使SQLServer2000作为一个网络数据库管理系统,其扩展已超出了单个物理计算机的限制,并且多服务器“分布式”事物的内在支持更加充分。下面简单介绍一下与本系统有关的几个技术。5.1.3.1SQLServer安全性管理可以这样说,一个数据库服务器不外乎强调两种功能:数据库记录完整性、数据存取安全性。而在SQLServer2000中提供了一个非常强大的安全性管理功能,它可以分成两种。SQLServer身份确认模式。用户可以直接在SQLServer中创建登录数据库服务器的独立账号,而这样的账号无须与NT域账号具有任何关系,是属于SQLServer这一层的账号管理,一般称之为Standard模式,当创建一个SQLServerStandard账号之后,还可以根据需要设定其服务器管理操作与前台应用系统存取数据权限。采用NT域账号。SQLServer支持的另一种安全性方式是采用NTDomain账号,也就是说可以将NTDomain账号应用在SQLServer中,让用户通过前台工作站登录网络之后,即可通过这样的网络账号直接登录SQLServer,无须再重新登录。本系统采用了第一种模式,以超级用户”sa”登录,拥有一切操作和权限。出于安全考虑,在实际应用中应该创建一个新的SQLServerStandard账号,并仔细设定其操作与权限。5.1.3.2创建数据库及数据表SQLServer2000的EnterpriseManager管理工具是一个非常好用的可视化管理工具,根据屏幕说明,和利用鼠标操作,就能很快地创建一个数据库及其表结构,这里不再多介绍。值得一提的是SQLServer7.0中提供的datetime和text两种字段类型,其中datetime是用来保存日期和时间数据的,text是用来保存不定长度的备注说明内容的,有了这两个数据类型,应用系统中就不用再为输出格式和限制字符串长度而增加额外代码了。5.1.3.3存储过程StoredProcedure所谓StoredProcedure实际上就是一段保存在数据库中的程序,通过一个名称的命名,其中包含有处理数据库存取与运算的SQL语句,并且将这样的程序文件紧密结合在数据库中,这样我们的前台应用系统在执行过程中,可以直接执行数据库中设置好的StoredProcedure,甚至可以传递参数。其特性为,建立最佳的数据存取与处理效率,因为StoredProcedure一经执行之后,可以进行编译,并且放置在后台的Cache中,可以允许其他人直接执行。在本BBS系统中运用了大量的StoredProcedure,用来保存需要反复使用的,规则性的,处理数据库的SQL过程,如此一来,增进了系统的处理效率,同时也提高了系统的维护能力。5.1.4VBScript及JavaScript脚本语言Script(脚本)是由一组可以在客户端浏览器上运行的命令组合而成的语言,你可以把它想像成一个运行于客户端上的可执行程序。目前在网页编制上比较流行的脚本语言包括VBScript及JavaScript。它们都是一种与HTML语言相似的描述性语言,也是以文本形式存在,不像C语言或Java语言那样,需要编译连接成字节码形式的可执行程序。Script语句可以单独存成文档,也可以被嵌入到HTML的文件之中,与HTML语句结合在一起。当需要将Script语句直接加入到HTML文件中时,只要使用一个HTML标记符号