毕业设计(论文)-基于asp的网上在线考试系统设计与实现

毕业设计(论文)-基于asp的网上在线考试系统设计与实现

ID:6333203

大小:539.50 KB

页数:36页

时间:2018-01-10

上传者:U-3680
毕业设计(论文)-基于asp的网上在线考试系统设计与实现_第1页
毕业设计(论文)-基于asp的网上在线考试系统设计与实现_第2页
毕业设计(论文)-基于asp的网上在线考试系统设计与实现_第3页
毕业设计(论文)-基于asp的网上在线考试系统设计与实现_第4页
毕业设计(论文)-基于asp的网上在线考试系统设计与实现_第5页
资源描述:

《毕业设计(论文)-基于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标记符号

ThisisaJavaScriptexample.另外,Script程序在HTML中的位置也比较自由,它可以在HTML文件中的任何位置。脚本语言是一种解释性语言,可以直接由浏览器来解释执行。并且可以直接访问浏览器中的各种对象,如窗口对象、文档对象、框架对象、超链接对象等。脚本语言可以实现的功能很多,可以用于定义网页、在网页中加入动画、对网页中的各种元素进行处理,特别是在处理表单方面有很强功能。不仅如此,它还可以很方便地控制浏览器中的各对象的属性。例如,可以实现打开或关闭浏览器窗口、设置窗口状态、改变窗口中的超链接位置等。总之,一些常用的功能都可以用脚本语言实现。本系统中就运用了大量的脚本语言,一方面用来完成表单提交前的数据验证任务,另一方面用来完成打开新的窗口、关闭当前窗口、返回前一页及下拉菜单等功能。通过使用脚本语言既防止了大量错误数据被提交到服务器,进而节约了宝贵的系统资源;也使网页更加美观、操作更加方便。大大提高了系统的性能。5.2实现方法5.2.1数据库连接方式在ASP脚本中可以通过三种方式访问数据库:传统的IDC(InternetDatabaseConnector)方式,ADO(ActiveXDataObjects)方式以及RDS(RemoteDataService)方式。从概念上来讲,这三种访问方式对数据库的访问是由InternetInformationServer来完成的。如图1所示。  Web浏览器用HTTP协议向Internet信息服务器(IIS)递交请求。Internet信息服务器执行访问数据库的操作,并以一个HTML格式的文档作为回答。(1)Internet数据库接口(IDC)  IDC是一个传统的数据库查询工具,用来定义和执行数据库查询的SQL命令,并向浏览器返回一个指定数据格式的页面。使用IDC访问数据库最大的特点是简单,几乎不需要编程就能实现对数据库的(2)ActiveX数据对象(ADO)与IDC不同,用ADO访问数据库更类似于编写数据库应用程序,ADO把绝大部分的数据库操作封装在七个对象中,在ASP页面中编程调用这些对象执行相应的数据库操作。ADO是ASP技术的核心之一,它集中体现了ASP技术丰富而灵活的数据库访问功能。ADO建立了基于Web方式访问数据库的脚本编写模型,它不仅支持任何大型数据库的核心功能,而且支持许多数据库所专有的特性。ADO使用本机数据源,通过ODBC访问数据库。这些数据库可以是关系型数据库、文本型数据库、层次型数据库或者任何支持ODBC的数据库。ADO的主要优点是易用、高速、占用内存和磁盘空间少,所以非常适合于作为服务器端的数据库访问技术。相对于访问数据库的CGI程序而言,它是多线程的,在出现大量并发请求时,也同样可以保持服务器的运行效率,并且通过连接池(Connection第33页共33页 Pool)技术以及对数据库连接资源的完全控制,提供与远程数据库的高效连接与访问,同时它还支持事务处理(Transaction),以开发高效率、高可靠性的数据库应用程序。正是因为使用ADO需要编写脚本程序,所以ADO能够实现更复杂、更灵活的数据库访问逻辑。目前,ADO包括Command、Connection、Recordset等七个对象和一个动态的Properties集合,绝大部分的数据库访问任务都可以通过它们的组合来完成。一般使用ADO访问数据库的ASP脚本程序应该使用Connection对象建立并管理与远程数据库的连接;使用Command对象提供灵活的查询;而使用Recordset对象访问数据库查询所返回的结果。这三者是ADO中最基本也最核心的对象。(3)远程数据服务(RDS)RDS是IIS4.0中新提出的概念,它是由ASP中原来的AdvancedDataConnector(ADC)发展而来的。在IIS4.0中,RDS与ADO集成到一起,使用同样的编程模型,提供访问远程数据库的功能。由于RDS与ADO集成,RDS的底层是调用ADO来完成的,所以也可以将RDS理解为ADO的RDS,即ActiveX数据对象的远程数据服务。所以RDS同样具有ADO的易用性,区别仅在于RDS需要与数据绑定控件一同使用,比如Sheridan的ActiveXDataBoundGrid控件。正如ADO类似于VB中的RDO一样,RDS也类似于VB中的远程数据控件(RDC)。ASP中五种连接数据库的方法:.:....第一种-这种方法用在ACCESS中最多strconn="DRIVER=MicrosoftAccessDriver(*.mdb);DBQ="&Server.MapPath("aspfree.mdb")setconn=server.createobject("adodb.connection")conn.openstrconn第二种-这种方法用在SQLSERVER中多,本系统采用该方法。strconn="Driver={SQLServer};Description=sqldemo;SERVER=127.0.0.1;UID=LoginID;PWD=Password;DATABASE=Database_Namesetconn=server.createobject("adodb.connection")conn.openstrconn第三种strconn="Driver={MicrosoftAccessDriver(*.mdb)};"&_"DBQ=F:Inetpubwwwrootsomedirdb1.mdb;DefaultDir=f:Inetpubwwwrootsomedir;uid=LoginID;"&_"pwd=Password;DriverId=25;FIL=MSAccess;"setconn=server.createobject("adodb.connection")conn.openstrconn第四种运用系统数据源ThefollowingusesaDataSourceName:setconn=server.createobject("adodb.connection")conn.open"Example"第五种运用ODBC数据源,前提是你必须在控制面板的ODBC中设置数据源setrs=server.createobject("adodb.recordset")rs.open"tblname","DSNName",3,35.2.2用IIS配置Web服务器22山IIS(InternetInformation第33页共33页 Server,互联网信息服务)是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。本文将向你讲述Windows2000高级服务器版中自带的IIS5.0的配置和管理方法。(1)IIS的添加请进入“控制面板”,依次选“添加/删除程序→添加/删除Windows组件”,将“Internet信息服务(IIS)”前的小钩去掉(如有),重新勾选中后按提示操作即可完成IIS组件的添加。用这种方法添加的IIS组件中将包括Web、FTP、NNTP和SMTP等全部四项服务。(2)IIS的运行当IIS添加成功之后,再进入“开始→程序→管理工具→Internet服务管理器”以打开IIS管理器,对于有“已停止”字样的服务,均在其上单击右键,选“启动”来开启。建立Web站点比如本机的IP地址为192.168.0.1,自己的网页放在D:Wy目录下,网页的首页文件名为Index.htm,现在想根据这些建立好自己的Web服务器。对于此Web站点,我们可以用现有的“默认Web站点”来做相应的修改后,就可以轻松实现。请先在“默认Web站点”上单击右键,选“属性”,以进入名为“默认Web站点属性”设置界面。a.修改绑定的IP地址:转到“Web站点”窗口,再在“IP地址”后的下拉菜单中选择所需用到的本机IP地址“192.168.0.1”。b.修改主目录:转到“主目录”窗口,再在“本地路径”输入(或用“浏览”按钮选择)好自己网页所在的“D:Wy”目录。c.添加首页文件名:转到“文档”窗口,再按“添加”按钮,根据提示在“默认文档名”后输入自己网页的首页文件名“Index.htm”。d.添加虚拟目录:比如你的主目录在“D:Wy”下,而你想输入“192.168.0.1/test”的格式就可调出“E:All”中的网页文件,这里面的“test”就是虚拟目录。请在“默认Web站点”上单击右键,选“新建→虚拟目录”,依次在“别名”处输入“test”,在“目录”处输入“E:All”后再按提示操作即可添加成功。e.效果的测试:打开IE浏览器,在地址栏输入“192.168.0.1”之后再按回车键,此时就能够调出你自己网页的首页,则说明设置成功!5.3界面设计5.3.1登录界面。第33页共33页 5.3.2考试界面第33页共33页 5.3.3成绩汇总界面5.3.4试卷管理界面5.3.5试卷修改界面第33页共33页 5.3.6添加试题改界面5.4程序流程及具体实现方法本论文主要介绍考生考试模块(试卷已由教师产生并保存在数据库JSJSTK中的XUANZE表中)。其程序流程为:第33页共33页 系统源代码由以下程序组成:5.4.1考试主页程序:shuoming.asp该程序主要是网上在线考试操作方法的介绍,有“进入考室”和“成绩查阅”两个超链接。5.4.2登录界面程序:dl.asp该程序主要提供考生登录的表单,要求输入考号(kh)、密码(mm)、班级(xxdz)。5.4.3考生身份认证程序:reg02.asp该程序主要考生身份认证,如果合法就将考生信息资料入库。具体分三步:第一步:将考生提交的考号和密码与密码验证表MA中的考号和密码,如果一致则执行下一步,否则回到登录界面程序。关键源代码为:a)实现与库JSJSTK中表MA的连接setdataconn1=server.createobject("adodb.connection")dataconn1.mode=3dataconn1.open"Driver={SQLServer};description=sqldemo;Server=;uid=sa;pwd=;database=jsjstk;"第33页共33页 setrs_reg=server.createobject("adodb.recordset")rs_reg.activeconnection=dataconn1rs_reg.cursortype=0rs_reg.locktype=3rs_reg.source="select*fromma"rs_reg.openb)验证考生身份kaohao=request.form("kh")mima=request("pwd1")dowhilenotrs_reg.eofifrtrim(ltrim(rs_reg("kh")))<>trim(kaohao)thenrs_reg.movenextsession("flag")=0elseifrtrim(ltrim(rs_reg("xm")))<>trim(mima)thenrs_reg.closeresponse.redirect("dl.asp")elsesession("xm")=rs_reg("mm")rs_reg.closesession("flag")=1exitdoendifendifloopifsession("flag")=0thenrs_reg.closeresponse.redirect("dl03.asp")endif第二步:查看考生信息表(KSXX)中是否有该考生的资料,若有说明该试图重考结束程序,若无进行下一步。rs_reg.source="select*fromksxx"rs_reg.opendowhilenotrs_reg.eofifrs_reg("kh")=trim(kaohao)thensession("flag")=1response.redirect("shuoming.asp")elsers_reg.movenextendifloop第三步:将考生信息资料存入表(KSXX)rs_reg.addnewrs_reg("kh")=session("kh")第33页共33页 rs_reg("xm")=session("xm")rs_reg.updaters_reg.closesession("flag1")=15.4.4考试试卷生成程序:chouti.asp该程序主要考试试卷生成,关键要解决页面的布局和考试时间的控制。a)从库JSJSTK中的XUANZE表里根据考号形成A、B、C、D四种试卷setdataconn1=server.createobject("adodb.connection")dataconn1.open"Driver={SQLServer};Server=;uid=sa;pwd=;database=jsjstk;"neixing=clng(session("kh"))mod4selectcaseneixingcase0str="select*fromxuanzeorderby1desc"case1str="select*fromxuanzeorderby2desc"case2str="select*fromxuanze"case3str="select*fromxuanzeorderby2"endselectsetrs_reg=dataconn1.execute(str)response.write""i=0dowhilenotrs_reg.eofi=i+1Response.Writei&"."&rs_reg("timu")&"
"response.Write""&"A"&rs_reg("a")&"
"response.Write""&"B"&rs_reg("b")&"
"Response.Write""&"C"&rs_reg("c")&"
"Response.Write""&"D"&rs_reg("d")&"
"Response.Write"
"'session("daan"&cstr(i))=rs_reg("daan")rs_reg.movenextloopresponse.Write""rs_reg.closeb)考试时间控制是通过window.settimeout来完成,下面源代码定义的考试时间为90分钟。第33页共33页 submitt()MsgBox"考试时间到,请按‘确定’键交卷",64,"Ohno!"shiti.submitEndSubwindow.settimeout"mitt()",5400000,vbscript5.4.5试卷批改与成绩入库程序:yuejuan.asp该程序主要是完成试卷批改与成绩存入JSJSTK库中的CJB表中。5.4.6查询成绩程序:cfen.asp第六章系统运行效果6.1系统测试及运行效果模块完成后,通过一个标准班(45人)反复进行系统测试,其间出现过考试成绩不能入库,在指导老师的辅导下发现问题的所在,原来是SESSION对象的生命周期是20分钟,后来在IIS中将会话SESSION对象的生命周期设为200分钟后,问题得到解决,但进一步考虑到网考的安全性,取消使用会话SESSION对象而改用表单中HIDDEN来保存考生信息(具体实现见所附代码)。改进后系统各功能模块均能按设计目标达到所要求功能,顺利实现了《网上在线考试系统》的各部分功能,总体效果良好。6.2自我总体评价由于开发整个系统时所接触到比较多的新软件以及使用了一些以前未接触过的新技术。因此,该系统的开发对我还是有一定的难度,在开发的时间比较短的情况下,基本实现了原定的功能,总体的感觉是良好的。网上考试系统是web应用程序中属于很常见的项目。特别对于大型的网站来说,该网站的用户数量的多少,很大程度取决于系统的稳定性、易用性以及完善性。本系统作为一个Internet开发项目来说,是完全可以拿到Internet中实施的。但是,从商业角度看,它仍有一些有待完善的地方,比如:本系统中,每个访问数据库的ASP文件都建立了自己的ADO连接对象,这种模式的工作效率是很低的,如果系统的访问量很大时,会给服务器带来很大的负担。另外,考试题型比较单一。6.3改进意见对于由于每个访问数据库的我们考虑以后可以通过Globe.asa文件,编写Session_Onstart事件和Seesion_OnEnd事件来统一建立和关闭ADO连接对象,这样就可以避免重复劳动和频繁地打开、关闭数据库的连接。第七章结束语通过《网上在线考试系统》的开发与设计,基本上掌握并熟悉了多种网站开发工具的使用、ASP技术以及动态网页上的制作与使用的方法及其技巧。接触了网页设计的布局、美化等要素的知识,为今后从事有关从事网站的开发与设计提供了有益的经验。致谢感谢学校能开设这个课题,为本人日后从事网站设计及建造提供了经验,为日后能顺利从事网页设计工作奠定了基础;同时,在这次毕业设计的过程中,感谢有关老师,特别是指导老师给予的大力鼓励和指点,为解决设计中遇到的问题铺平了道路;并且,在本模块的设计中,感谢各位同学的互相合作,使本模块的设计能预期完成。第33页共33页 参考文献[1]软件工程 陈明中央广播电视大学出版社 2001[2]DreamweaverMX2004完美网页设计作者:张晓青中国青年出版社2004[3]ASP网络开发技术汪晓平,吴勇强,张宏林等编著人民邮电出版社2000[4]数据库基础与应用王利中央广播电视大学出版社1997年[5]ASP程序设计石志国,李颍,薛为民编著清华大学出版社2002[6]ASP动态网站设计经典案例谯谊,张军,王佩楷等编著机械工业出版社2005[7]ASP信息系统开发实例精选赛奎春主编机械工业出版社2004[8]王国荣著张宝刚改编《ASP网页制作教程》人民邮电出版社[9]陈会安著《ASP网页制作彻底研究》人民邮电出版社[10]胡海、刘智宇《网页设计梦工场—DREAMWEAVER篇》北京博彦科技发展有限公司第33页共33页 附程序源代码:1、Shuoming.asp在线考试在线考试说明

     

   本考试系统属网上在线考试,请考生严格按规定要求操作。进入考室
后切勿关闭考试窗口或关机,否则系统将不允许你再考试且考试成绩不存盘。

*考试请按“进入考室”                                    

*查看成绩请按“查阅成绩”                                  

  本系统由钟祥职教中心网络中心开发,若您什么意见或建议,第33页共33页
请联系:E_mail:chengzq123@263.net                               

                进入考室                  查阅成绩
2、dl.asp注册界面《计算机基础知识竞赛》网上考试

 

考  号:

姓   名:

密   码: 

校  址:

注意:必须输入监考老师提供给你的考号和密码且只能成功注册一次

第33页共33页 3、reg02.asp<%'onerrorresumenextcheck_regResponse.redirect("chouti.asp")'response.redirect("kskm.asp")%>subcheck_reg()session("kh")=request.form("kh")session("xxdz")=request.form("adr")'setdataconn1=server.createobject("adodb.connection")''dataconn1.open"dsn=ks"setdataconn1=server.createobject("adodb.connection")dataconn1.mode=3dataconn1.open"Driver={SQLServer};description=sqldemo;Server=;uid=sa;pwd=;database=jsjstk;"'dataconn1.open"Driver={SQLServer};Server=;uid=sa;pwd=;database=jsjstk;"'dataconn1.ConnectionString="PROVIDER=SQLOLEDB;SERVER=server1;UID=administrator;PWD=CISCOczq123;DATABASE=jsjstk;"'dataconn1.Opensetrs_reg=server.createobject("adodb.recordset")rs_reg.activeconnection=dataconn1rs_reg.cursortype=0rs_reg.locktype=3rs_reg.source="select*fromma"rs_reg.openkaohao=request.form("kh")mima=request("pwd1")dowhilenotrs_reg.eofifrtrim(ltrim(rs_reg("kh")))<>trim(kaohao)thenrs_reg.movenextsession("flag")=0else'ifrtrim(ltrim(rs_reg("xm")))<>trim(mima)theniftrim(mima)<>"123"then第33页共33页 rs_reg.closeresponse.redirect("dl22.asp")elsesession("xm")=rs_reg("mm")rs_reg.closesession("flag")=1exitdoendifendifloopifsession("flag")=0thenrs_reg.closeresponse.redirect("dl03.asp")endifrs_reg.source="select*fromksxx"rs_reg.opendowhilenotrs_reg.eofifrs_reg("kh")=trim(kaohao)thensession("flag")=1response.redirect("dl1.asp")elsers_reg.movenextendiflooprs_reg.addnewrs_reg("kh")=session("kh")rs_reg("xm")=session("xm")'rs_reg("xxdz")=session("xxdz")rs_reg.updaters_reg.closesession("flag1")=1endsub4、chouti.asp<%'onerrorresumenextifsession("kh")=Emptythenresponse.redirect("shuoming.asp")endif'session("km")=request.form("km")'ifrequest.form("km")="dazi"then'response.redirect("dazi.asp")'endif'ifrequest.form("km")="chengxu"then第33页共33页 'response.redirect("chengxu.asp")'endifresponse.write""&session("xm")&",你好!请在90分钟完成试题。"check_reg%>subcheck_reg()setdataconn1=server.createobject("adodb.connection")dataconn1.open"Driver={SQLServer};Server=;uid=sa;pwd=;database=jsjstk;"neixing=clng(session("kh"))mod4selectcaseneixingcase0str="select*fromxuanzeorderby1desc"'str="select*fromjinsaitiorderby1desc"'str="select*from"&session("km")&"orderby1desc"case1str="select*fromxuanzeorderby2desc"'str="select*fromjinsaitiorderby2desc"'str="select*from"&session("km")case2str="select*fromxuanze"'str="select*fromjinsaiti"case3str="select*fromxuanzeorderby2"'str="select*fromjinsaitiorderby2"endselectsetrs_reg=dataconn1.execute(str)response.write""i=0dowhilenotrs_reg.eofi=i+1Response.Writei&"."&rs_reg("timu")&"
"response.Write""&"A"&rs_reg("a")&"
"response.Write""&"B"&rs_reg("b")&"
"Response.Write""&"C"&rs_reg("c")&"
"Response.Write""&"D"&rs_reg("d")&"
"Response.Write"
"'session("daan"&cstr(i))=rs_reg("daan")rs_reg.movenextloopresponse.Write""rs_reg.closeresponse.Write""response.Write""response.Write""response.write""endsub5、yuejuan.asp<%onerrorresumenextdimsumsum=0tfencheck_regresponse.redirect("cfen1.asp")%>subtfen()'str="selectdaanfrom"&session("km")'setdataconn1=server.createobject("adodb.connection")'dataconn1.open"Driver={SQLServer};Server=;uid=sa;pwd=;database=jsjstk;"'setrs_reg=dataconn1.execute(str)fori=1torequest("tishu")iflcase(request("daan"&cstr(i)))=lcase(request("t"&cstr(i)))thensum=sum+1.5第33页共33页 endifnextendsubsubcheck_reg()setdataconn1=server.createobject("adodb.connection")dataconn1.mode=3dataconn1.open"Driver={SQLServer};Server=;uid=sa;pwd=;database=jsjstk;"setrs_reg=server.createobject("adodb.recordset")rs_reg.activeconnection=dataconn1rs_reg.cursortype=0rs_reg.locktype=3rs_reg.source="select*fromcjb"rs_reg.openrs_reg.addnew'rs_reg("kh")=session("kh")'rs_reg("xm")=session("xm")'rs_reg("xxdz")=session("adr")rs_reg("kh")=request("kaohao")rs_reg("xm")=request("xinmin")rs_reg("xxdz")=request("dizhi")rs_reg("cj")=sumrs_reg.updaters_reg.closeendsub6、cfen.asp注册界面考  号:

密   码: 

6、cachengji.asp<%check_reg%>subcheck_reg()setdataconn1=server.createobject("adodb.connection")dataconn1.mode=3dataconn1.open"Driver={SQLServer};Server=;uid=sa;pwd=;database=jsjstk;"setrs_reg=server.createobject("adodb.recordset")rs_reg.activeconnection=dataconn1rs_reg.cursortype=0rs_reg.locktype=3rs_reg.source="select*fromcjb1orderbycjdesc"rs_reg.openifrequest.form("kh")="0"thenResponse.Write""Response.Write"打字考试成绩:"Response.Write""第33页共33页 Response.Write"考号"Response.Write"姓名 "Response.Write"学校 "Response.Write"成绩 "dowhilenotrs_reg.eofResponse.Write""&rs_reg("kh")&""Response.Write""&rs_reg("xm")&""Response.Write""&rs_reg("xxdz")&""Response.Write""&rs_reg("cj")&"个/10分钟"rs_reg.movenextloopResponse.Write""rs_reg.closeelsedowhilenotrs_reg.eofifrtrim(ltrim(rs_reg("kh")))=rtrim(ltrim(request.form("kh")))thenResponse.Write""Response.Write"打字考试成绩:"Response.Write""Response.Write"考号"Response.Write"姓名 "Response.Write"学校 "Response.Write"成绩 "Response.Write""&rs_reg("kh")&""Response.Write""&rs_reg("xm")&""Response.Write""&rs_reg("xxdz")&""Response.Write""&rs_reg("cj")&"个/10分钟"Response.Write""exitdoelsers_reg.movenextendifloop第33页共33页 rs_reg.closeendifrs_reg.source="select*fromcjb2orderbycjdesc"rs_reg.openifrequest.form("kh")="0"thenResponse.Write""Response.Write"基础知识成绩:"Response.Write""Response.Write"考号"Response.Write"姓名 "Response.Write"学校 "Response.Write"成绩 "dowhilenotrs_reg.eofResponse.Write""&rs_reg("kh")&""Response.Write""&rs_reg("xm")&""Response.Write""&rs_reg("xxdz")&""Response.Write""&int(rs_reg("cj")*0.8+0.5)&""rs_reg.movenextloopResponse.Write""rs_reg.closeelsedowhilenotrs_reg.eofifrtrim(ltrim(rs_reg("kh")))=rtrim(ltrim(request.form("kh")))thenResponse.Write""Response.Write"基础知识成绩:"Response.Write""Response.Write"考号"Response.Write"姓名 "Response.Write"学校 "Response.Write"成绩 "Response.Write""&rs_reg("kh")&""第33页共33页 Response.Write""&rs_reg("xm")&""Response.Write""&rs_reg("xxdz")&""Response.Write""&rs_reg("cj")&""Response.Write""exitdoelsers_reg.movenextendiflooprs_reg.closeendifrs_reg.source="select*fromcjb3orderbycjdesc"rs_reg.openifrequest.form("kh")="0"thenResponse.Write""Response.Write"foxbase操作成绩:"Response.Write""Response.Write"考号"Response.Write"姓名 "Response.Write"学校 "Response.Write"成绩 "dowhilenotrs_reg.eofResponse.Write""&rs_reg("kh")&""Response.Write""&rs_reg("xm")&""Response.Write""&rs_reg("xxdz")&""Response.Write""&rs_reg("cj")&""rs_reg.movenextloopResponse.Write""rs_reg.closeelsedowhilenotrs_reg.eofifrtrim(ltrim(rs_reg("kh")))=rtrim(ltrim(request.form("kh")))thenResponse.Write""Response.Write"foxbase操作成绩:"Response.Write""Response.Write"考号"Response.Write"姓名 "Response.Write"学校 "Response.Write"成绩 "Response.Write""&rs_reg("kh")&""Response.Write""&rs_reg("xm")&""Response.Write""&rs_reg("xxdz")&""Response.Write""&rs_reg("cj")&""Response.Write""rs_reg.closeexitsubelsers_reg.movenextendiflooprs_reg.close'Response.Write"输入密码错误或未参加考试"'Response.Write"按这里"endifendsub第33页共33页

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
最近更新
更多
大家都在看
近期热门
关闭