1、本科毕业设计(20届)网络考试系统的设计与实现所在学院专业班级计算机科学与技术学生姓名学号指导教师职称完成日期年月I摘要随着INTERNET的飞速发展,计算机可以代替人类开展越来越多的工作。如我们传统的考试是组织所有考生坐在一起,用笔解答试题,然后老师改卷后将成绩通知学生。这样的考试有一些弊端首先考生一定要提前到考场,这对考生住址离考场远的比较不方便。而且纸张比较浪费,教师批改试卷繁琐而且容易出错,另外通知学生成绩也需要耗费比较大的精力。网络考试系统可以基本解决以上的这些问题。网络考试系统将传统教育理论与基于WEB的计算机协同工作软件系统有机结构结合起来,以满足各种课程的考试需求。本系统基于B
2、/S模式的设计思想建设的一个基于ASPNET设计的网络考试系统。该系统在微软公司的VISUALSTUDIONET的集成开发环境下,选用微软的SQLSERVER2005作为数据库系统,利用NET提供的ADONET数据库访问技术,构建了一个实用的考试系统,具备教师出卷、在线考试、网上评分、成绩统计等相关功能。该系统将教育理论、经验和方法引入系统内部,在完成网络考试任务的同时还获得了科学量化指标,可以协助考试组织机构对考试进行科学的评价和分析。网络考试系统能够实现教师出卷、在线考试、网上判分等各项相关功能,以优化传统考试的运行模式,在确保考试系统安全性、真实性的前提下,将极大的提高考试的组织效率和节
3、约考试成本。关键词网络考试;ASPNET;SQL;IIABSTRACTWITHTHERAPIDDEVELOPMENTOFINTERNET,THECOMPUTERSGRADUALLYTAKETHEPLACEOFHUMANSTODOMANYWORKSFOREXAMPLE,ATRADITIONALTESTISTOORGANIZEALLCANDIDATESSITTOGETHERTOANSWERQUESTIONSWITHPENS,ANDTHENTHETEACHERCORRECTINGSTUDENTSTODISTRIBUTETHETESTSRESULTSTHISTESTHASSOMEDRAWBACKSFI
4、RSTLY,THEEXAMCANDIDATESARENOTCONVENIENTASTHEYMUSTARRIVEINTHEEXAMINATIONROOMINADVANCE,ESPECIALLYFORTHOSERELATIVELYFARAWAYFROMTHEEXAMINATIONROOMSECONDLY,ATRADITIONALTESTISWASTEMANYPAPERSANDCORRECTINGPAPERSMAKESTEACHERSMOREPRONETOERROR,THIRDLY,DISTRIBUTINGTHETESTSRESULTSISALSOACONSUMINGWORKONLINETESTSY
5、STEMCANBASICALLYSOLVETHEABOVEISSUESONLINETESTSYSTEMCOMBINESTRADITIONALEDUCATIONALTHEORYANDCOMPUTERBASEDWEBSYSTEMSTOGETHERTOMEETTHENEEDSOFAVARIETYOFEXAMSTHESYSTEMISBASEDONB/SMODELANDASPNETITISINMICROSOFTSVISUALSTUDIONETINTEGRATEDDEVELOPMENTENVIRONMENT,USEMICROSOFTSSQLSERVER2005ASTHEDATABASESYSTEM,USI
6、NGNETPROVIDESTHEADONETDATABASEACCESSTECHNOLOGYTOCONSTRUCTAPRACTICALEXAMINATIONSYSTEM,WITHNETWORKTESTPAPER,ONLINEEXAMINATIONS,ONLINEANDSCORESTATISTICSANDOTHERRELATEDFUNCTIONSWITHEDUCATIONTHEORY,EXPERIENCEANDMETHODAREINTRODUCINGINTOTHESYSTEM,WECANNOTONLYCOMPLETETHETASKNETWORKTEST,BUTALSOOBTAINTHESCIEN
7、CEOFQUANTITATIVEINDICATORSTHESECANHELPORGANIZATIONSTOEVALUATEANDANALYSISSCIENTIFICEXAMINATIONSONLINETESTSYSTEMHASMANYFUNCTIONS,SUCHASGENERATENETWORKTESTPAPERS,EXECUTEONLINEEXAMINATIONS,AUTOMATICALLYCHECKINGCORRECTION,WHICHCANOPTIMIZETHEOPERATINGMODEOFTRADITIONALEXAMINATIONTHEEXAMINATIONSYSTEMWITHSEC
8、URITYANDAUTHENTICITYWILLGREATLYIMPROVETHEORGANIZATIONOFEXAMINATIONSTESTEFFICIENCYKEYWORDSTESTONLINEASPNETSQLIII目录摘要IABSTRACTII目录III第一章引言111ASP发展史112ASP技术介绍113ASPNET的优势214SQL介绍3第二章需求分析521现状分析522系统需要解决的主要问题5第三章总体设计731基本介绍732运行环境8第四章数据库的设计与实现941数据库的需求分析942数据库范式设计9421第一范式1NF9422第二范式2NF10423第三范式3NF1043数据
9、库的结构设计1044数据库的逻辑设计13第五章系统实现1551系统流程图设计1552基于B/S软件架构1653各页面功能介绍及详解17531登录页面17532管理员页面20533学生页面23534在线考试页面24535教师页面27536添加试卷页面30537试题添加页面32538成绩统计页面36参考文献38致谢错误未定义书签。1第一章引言11ASP发展史ASPACTIVESERVERPAGES,动态服务器页面技术可在网页中嵌入脚本程序,由因特网IIS服务器执行,从而产生不同的动态页面。从1996年ASP诞生到现在已经过去了15年。在这短短的15年中,ASP发生了重大的变化,直到现在的ASPNE
10、T。ASP的第一版是09测试版,自从1996年ASP10诞生,它给WEB开发界带来了福音。但是早期的ASP是十分繁琐,需要编写大量的C代码。到了1998年,发布了ASP20。到了2000年,随着WINDOWS2000的成功发布,这个操作系统的IIS50所附带的ASP30也开始流行。与ASP20相比,ASP30的优势在于它使用了COM,因而其效率会比它前面的版本要好,并且更稳定。2001年,ASPNET出现了。在刚开始开发的时候,它的名字是ASP,但是,为了与微软的NET计划相匹配,并且要表明这个ASP版本并不是对ASP30的补充,微软将其命名为ASPNET。ASPNET技术是由微软的NET技术
11、演变而来的,它不是ASP的升级,可以说ASPNET是一个全新的技术。ASPNET完全基于模块与组件,具有更好的可扩展性和可定制性,数据处理方面引入了许多新技术,正是这些新特性,让ASPNET超越了ASP,同时也提供给WEB开发人员更好的灵活性,有效缩短了WEB应用程序的开发周期。ASPNET与WINDOWS2000SERVER/ADVANCEDSERVER的完美组合,为中小型乃至企业级的WEB商业模型提供了一个更为稳定,高效,安全的运行环境。12ASP技术介绍ASP是一种创建动态网页的很好的编程语言,可以利用它编写动态产生HTML的程序代码。因此,只要用户浏览WEB站点并请求一个ASP页,WE
12、B服务器就可处理相应的ASP代码然后将它传递到用户浏览器并显示网页。所以有了ASP就不用担心用户的浏览器能否运行所编写的代码,因为所有的程序都在服务器执行的,包括所有嵌入在普通HTML中的脚本程序。这样大大减轻了用户浏览器的负担,大大提高了交互的速度。ASP被称为ACTIVESERVERPAGES,即21ACTIVEASP使用了微软的ACTIVE技术。ACTIVE技术是现在MICORSOFT软件的重要基础。它采用封装对象,调用对象的技术。并封装了基本组件和一些常用组件,也就是说只要你能安装这些组件,通过访问组件你就可以快速的建立想要的网页。2SERVERASP运行在服务器端。所以给用户带来了极
13、大的方便,只要能上网就能正常访问。3PAGESASP返回标准的的HTML页面,这样用户看到的就是ASP生成的HTML页面,而不是ASP代码。给用户带来了方便也防止别人抄袭程序。与其他的程序不同的是ASP不需要编译,当执行ASP程序时,脚本程序将整套命令发送给脚本解释器进行翻译并转换为服务器所能执行的命令。ASP程序以扩展名为ASP的纯文本形式存在与WEB服务器上,可以用任何编辑器打开,这样就给程序员带来了极大的方便。13ASPNET的优势ASPNET是MICROSOFTNET的一部分,作为战略产品,不仅仅是ACTIVESERVERPAGEASP的下一个版本;它还提供了一个统一的WEB开发模型,
14、其中包括开发人员生成企业级WEB应用程序所需的各种服务。ASPNET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有ASP应用程序中逐渐添加ASPNET功能,随时增强ASP应用程序的功能。ASPNET是一个已编译的、基于NET的环境下,可以用任何与NET兼容的语言(包括C、VISUALBASICNET和JSCRIPTNET)创作应用程序。另外,任何ASPNET应用程序都可以使用整个NETFRAMEWORK。开发人员可以更加方便地获得这些技术的优点进行程序的开发,其中包括托管的公共语言运行库环境、类型安全
15、、继承等等。ASPNET可以和其他编程工具(包括MICROSOFTVISUALSTUDIONET)一起工作。微软为NET设计了这样一些策略易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出WEB应用,满足计算向WEB转移的战略需要。ASPNET的主要优势体现在以下几点31ASPNET的新性能ASPNET提供了稳定的性能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及网络服务。贯穿整个ASPNET的主题就是系统帮用户做了大部分不重要的琐碎的工作。2全新的构造新的ASPNET引入受管代码MANAGEDCODE这样一个全新概念,横贯整个视窗开发平
16、台。受管代码在NGWSRUNTIME下运行,而NGWSRUNTIME是一个时间运行环境,它管理代码的执行,使程序设计更为简便。3高效率对于一个程序,速度是一件非常令人渴望的东西。一旦代码开始工作,接下来你就得尽可能地让它运作得再快。在ASP中你只有尽可能精简你的代码,以至于不得不将它们移植到一个仅有很少一点性能的部件中。而现在,ASPNET会妥善地解决这一问题。4易控制在ASPNET里,将会拥有一个“DATABOUNDS”数据约束,这意味着它会与数据源连接,并会自动装入数据,使控制工作简单易行。14SQL介绍一个现实、完整的网站要维护业务往来需要保存很多的数据,而且这些数据之间往往还有着许多密
17、不可分的关联,因此,利用关系数据库来管理这些数据,可以很方便的录入、查询和更新这些数据。SQL全称是的“结构化查询语言(STRUCTUREDQUERYLANGUAGE)”,最早的是由IBM圣约翰研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言。SQL语言结构简洁,功能强大,简单易学,所以自动19871年IBM公司推出以来得到了广泛的应用。关系数据库有很多种,例如ACCESS数据库、ORACLE和SQLSERVER等等,其中SQLSERVER是一种高效的关系型数据库,它与WINDOWSNT/2000WINDOWS9X等操作系统紧密集成,对于今天复杂的B/S架构系统来说,SQLSE
18、RVER是最佳的选择。SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL不要求用户指定的数据存取方法,这一特性更容易得到想要的结果。所有语句使用查询优化器,它是DBMRS的一部分,由他决定对数据的存取的最快速手段。SQL可以用于用户的DB活动模型,包括系统管理员,数据库管理员,应用程序员,决策支持系统人员以及其他终端用户。SQL为任务提供了许多命令,包括数据查询、删除、插入、修改等。4STRUCTUREDQUERYLANGUAGE包含四个部分1数据查询语言DQLDATAQUERYLANGUAGESELECT2数据定义语音DDLDATADEFINITIONLANGUA
19、GECREAT3数据操作语言DMLDATAMANIPULATIONLANGUAGEINSERT,UPDATE,DELETE4数据控制语言DCLDATACONTROLLANGUAGECOMMITWORK,ROLLBACKWORKASP可以通过3种方式访问数据库IDC(INTERNETDATABASECONNECTOR)方式、ADO(ACTIVEXDATAOBJECT)方式和RDS(REMOTEDATASERVICE)方式。从概念上来讲,这3种方式对数据库的访问都是通过IIS来完成的。WEB浏览器用HTTP协议向IIS提交请求。INTERNET信息服务器执行访问数据库的操作,以一个HTML格式的文
20、档作为回答。ASPNET从现有的ASP结构体系上跨出了一大步,其整个构造体系使开发结构化的应用程序变为可能。WEB表单设计带来了一种更加直接和易于使用的开发模式。服务器控件增加了提供公共功能的能力,从而使扩展和加强现有功能变得容易。数据捆绑使创建数据约束型应用程序变得十分简单。它不但具有许多很棒的新功能,而且还有一个用于开发WEB应用程序的真正架。使用ASPNET的组件,可以轻松地实现对网页内容的动态控制,根据不同的浏览者,生成不同的页面内容。在ADONET的支持下,ASPNET与远程主机上的数据库的连接与操作变得非常简单。5第二章需求分析随着网络的越来越普及,社会的各个行业都认识到了网络的重
21、要性和方便性。现在大多的高校的网络管理也从以前的单位局域网操作演变成互联网了,因此一个方便的的网上考试系统在各大高校发挥着重大的作用。21现状分析目前比较流行的网络考试系统与传统的笔试相比具有很大的优势传统的考试中,一场考试要求考生在规定的时间内进入相同的地点进行考试。而在计算机网络考试中则完全不同,我们可以灵活的安排考生的时间和地点,甚至可以连题目都不一样,这给考生带来极大的方便,计算机评卷给了考生最大的公平性。网络考试极大的提高了教学的灵活性,在当前很多领域已经广泛的利用。本系统是一个基于ASPNET设计的在线考试系统。该系统将用微软公司的VISUALSTUDIONET的集成开发环境,选用
22、微软的SQLSERVER2005作为数据库系统,利用NET提供的ADONET数据库访问技术,使得数据驱动的WEB应用程序开发变得迅速而简单;基于B/S模式的设计思想,便于扩充应用和升级维护,利用浏览器访问位于WEB的服务器的纯WEB页面,实现网络组卷、在线考试、网上评分、在线统计等相关功能。22系统需要解决的主要问题首先,不管是谁进入系统需要进行身份验证。根据身份的不同进入系统后应该有不同的权限系统管理员具有添加用户,删除用户,修改用户信息等功能。教师身份可以添加试题,手工组卷,成绩统计等功能。学生用户可以进行考试,成绩查询等功能。系统应具备的功能1本系统适合于在校学生进行在线考试,因此学生身
23、份由管理员添加后,而非注册就可以参加考试,教师用户也是由系统管理员添加。2教师出题时能设计不同的科目以及考试的时间,分值。3系统控制考试在规定时间内自动交卷。4本系统只考虑客观题,这样系统能自动阅卷,然后马上给出考生的分数。65考生完成考试后,教师能对考生的成绩查询并进行成绩统计。6系统还需要安全简洁的界面,稳定性强,能支持多人同时进行考试。7第三章总体设计31基本介绍该系统分为用户管理模块、教师模块和学生模块。教师模块包含了成绩列表模块,成绩统计模块、添加试卷模块等。学生模块包含了成绩列表模块和在试模块。该系统功能模块如图1图1系统功能模块图832运行环境为了保证系统运行的效率和可靠性,系统
24、服务器应具有较高的软硬件配置和稳定的操作系统。而客户端的要求就不需要那么高。此应用程序可应用于互联网也适合在局域网中运行。服务器运行环境操作系统WINDOWSSERVER2000/2003,WINDOWSNT等;开发环境VISIUALSTUDIO2005,IIS50以上,IE70;数据库SQLSERVER2005客户端运行环境WINDOWSXPINTERNETEXPORER等;本系统在WINDOWSSERVER2003ENTERPRIESEDITIONSP1下调试通过。9第四章数据库的设计与实现41数据库的需求分析网络考试系统的数据库功能主要体现在对各种信息的提供、保存、更新和查询等操作上,包
25、括用户信息、试卷信息、学生成绩信息和试题库信息,各部分内容总结如下1系统用户分为管理员、教师和学生3种用户。2用户信息记录了用户的名称、密码和身份。3成绩信息记录了学生的成绩信息。4试卷信息激励了所有已经存在的试卷信息。5动态创建试题库信息,记录试卷内容。经过上述系统功能的分析,应该设计如下的数据项和数据结构1用户信息包括用户编号、名称、密码和身份等数据项。2成绩信息包括成绩编号、学生姓名和试卷名称等数据项。3试卷信息包括试卷编号、试卷名称、总成绩和考试时间等数据项。4试题库信息包括试题编号、试题分数和试题类型等数据项。42数据库范式设计421第一范式1NF第一范式(1NF)要求数据库表的每一
26、列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。10422第二范式2NF第二范式(2NF)是在第一范式的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。第二范式(2NF)要求实体的属性完全依赖于主关键字。例1设关系模式RS,C,GRADE,TNA
27、ME,TADDR的属性分别表示学生学号、选修课程的编号、成绩、任课教师姓名和教师地址。S,C是R的候选键。R上有两个FDS,CTNAME,TADDR和CTNAME,TADDR,因此前一个FD是局部依赖,R不是2NF模式。此时R的关系就会出现冗余和异常操作。例如,某一门课程有100个学生选修,那么在关系中就会存在100个元组,而教师的姓名和地址就会重复100次。如果把R分解成R1C,TNAME,TADDR和R2S,C,GRADE后,局部依赖S,CTNAME,TADDR就消失了,R1和R2都是2NF模式。423第三范式3NF满足第三范式(3NF)必须先满足第二范式(2NF)。第三范式3NF是指如果
28、关系模式R是1NF,且每个非主属性都不传递依赖于R的候选键,那么称R是第三范式3NF的模式。例2在例1中,R2是2NF模式,而且也已是3NF模式。但是R1C,TNAME,TADDR是2NF模式,却不一定是3NF模式。如果R1中存在函数依赖CTNAME和TNAMETADDR,那么CTADDR就是一个传递依赖,即R1不是3NF模式。此时R1的关系中就会出现五个元组,而教师的地址就会重复五次。如果把R1分解成两个关系模式R11TNAME,TADDR和R12C,TNAME后,CTADDR就不会出现在R11和R12中,这样R11和R12都是3NF模式。43数据库的结构设计本系统的用户信息实体、学生信息实
29、体、试卷信息实体和试题库信息实体,它们之间的关系图(即ER图)如图414411图41用户信息实体ER图图42学生成绩信息实体ER图图43试卷信息实体ER图12图44试题库信息实体ER图总的关系图如45所示图45关系图用户身份用户名密码学生成绩查询考试试卷试题库统计出卷编号名称成绩编号名称分数名称编号总分学生姓名成绩1344数据库的逻辑设计网络考试系统数据库包括4张表,分别是用户信息表、学生成绩信息表、试卷信息表和试题库信息表。试题库信息表在系统中动态创建。1用户信息表用户信息表记录了用户的详细信息,如表41所示表41用户信息表列名数据类型长度允许空USERIDINT4否USERNAMENVAT
30、RCHAR16否USERPWDNVATRCHAR12否USERTYPENVATRCHAR50否2学生成绩信息表学生成绩信息表(SCORES)记录了学生的成绩,结构如表42所示表42学生成绩信息表列名数据类型长度允许空SCOERIDINT4否STUNAMENVARCHAR16否PAPERNAMENVARCHAR50否TOTALSCOREINT4否STUSCOREINT4否TESTTIMEDATATIME8否3试卷信息表试卷信息表包含试卷的主要信息,结构如表43所示14表43试卷信息表列名数据类型长度允许空PAPERIDINT4否PAPERNAMENVARCHAR50否PAPERSCOREINT4
31、否SCOREAUTOINT4否SCORETEACHERINT4否TEACHERNVARCHAR16否TOTALTIMENVARCHAR5否4试题库信息表试题库信息表动态创建,记录了试卷中的试题信息,结构如表44所示表44试题库信息表列名数据类型长度允许空QUESTIONIDINT4否QUESTIONTYPENVARCHAR50否QUESTIONNVARCHAR4000否ANSWERNVARCHAR4000否SCOREINT4否AUTOFLAGINT4否字段说明1题目序号,用来唯一标志该问题,把它标为主键,类型为自动编号。2题目类型字段说明在出题时选择单选题、多选题等。3题目字段为问题的内容,带
32、选项。4正确答案。5该题目的分值。15第五章系统实现51系统流程图设计根据系统总体设计,首先系统要有一个登录界面,用户可以进入系统中,根据身份的不同又分为三个不同的界面。分别为管理员界面、学生界面和教师界面。管理员身份进入系统后能进行用户的添加和删除。学生身份进入系统后可以选择科目进行考试,考完后能查询成绩。教师身份进入系统后可以进入查询学生的成绩,出试题和成绩统计三个不同的界面。系统流程图如图51所示16图51网站流程图52基于B/S软件架构B/S结构(BROWSER/SERVER结构)结构即浏览器和服务器结构。它是随着INTERNET技术的兴起,对C/S结构的一种变化或者改进的结构。在这种
33、结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(BROWSER)实现,但是主要事务逻辑在服务器端管理员页面教师页面登录页面登录判断学生页面登录成功登录失败添加用户在线考试成绩查询出题成绩统计成绩查询注销17(SERVER)实现。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。以目前的技术看,局域网建立B/S结构的网络应用,并通过INTERNET/INTRANET模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,INTERNET/INTRANE
34、T等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。C/S(CLIENT/SERVER)结构,即大家熟知的客户机和服务器结构。通过它可以充分利用两端硬件环境的优势,将任务合理分配到CLIENT端和SERVER端来实现,降低了系统的通讯开销。传统的CS体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是CLIENT端还是SERVER端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用,而且代价
35、高,效率低。所以本系统采用B/S的架构模式,一切都运行在服务器上,而在客户端上只要运行一个IE浏览器即可。53各页面功能介绍及详解531登录页面登录页面实现用户身份的认证。不同的身份进入系统有不同的权限。登录页面如图51所示18图51登录页面用户登录页面的后台支持类(DEFAULTASPCS)主要代码如下PROTECTEDVOIDPAGE_LOADOBJECTSENDER,EVENTARGSELBLERRTEXT“PROTECTEDVOIDBTNLOGIN_CLICKOBJECTSENDER,EVENTARGSEIFTBXUSERNAMETEXT“|TBXUSERPWDTEXT“/读取数据库连
36、接字符串STRINGSETTINGSCONVERTTOSTRINGCONFIGURATIONMANAGERCONNECTIONSTRINGS“SQLSERVICES“/创建数据库连接SQLCONNECTIONOBJCONNNEWSQLCONNECTIONSETTINGSOBJCONNOPEN/创建命令对象SQLCOMMANDOBJCMDNEWSQLCOMMAND“USERLOGIN“,OBJCONN/设定命令类型为存储过程OBJCMDCOMMANDTYPECOMMANDTYPESTOREDPROCEDURE/添加参数19/用户名SQLPARAMETERPARAMUSERNAMENEWSQLPA
37、RAMETER“USERNAME“,SQLDBTYPENVARCHAR,16PARAMUSERNAMEVALUETBXUSERNAMETEXTOBJCMDPARAMETERSADDPARAMUSERNAMESQLPARAMETERPARAMUSERPWDNEWSQLPARAMETER“USERPWD“,SQLDBTYPENVARCHAR,12PARAMUSERPWDVALUETBXUSERPWDTEXTOBJCMDPARAMETERSADDPARAMUSERPWDSQLDATAREADERDROBJCMDEXECUTEREADERIFDRREADSESSION“USERNAME“DR“USER
38、NAME“TOSTRINGSTRINGUSERTYPEDR“USERTYPE“TOSTRINGIFUSERTYPE“STUDENT“RESPONSEREDIRECT“STUDENTSASPX“ELSEIFUSERTYPE“TEACHER“RESPONSEREDIRECT“TEACHERSASPX“ELSEIFUSERTYPE“SYSTEM“RESPONSEREDIRECT“ADMIN_USERASPX“ELSELBLERRTEXT“没有权限进入系统“ELSE20LBLERRTEXT“请输入正确的用户名和密码“532管理员页面管理员进入系统后可进行添加用户。主要使用了TEXTBOX控件、DROP
39、DOWNLIST控件、REQUIREDFIELDVALIDATOR控件、BUTTON控件和GRIDVIEW控件等,界面如图52所示图52管理员页面管理员页面的后台支持类(ADMIN_USERASPCS)主要代码如下PROTECTEDVOIDPAGE_LOADOBJECTSENDER,EVENTARGSEIFISPOSTBACKBIND_USERPROTECTEDVOIDBTN_ADDUSER_CLICKOBJECTSENDER,EVENTARGSE/读取数据库连接字符串STRINGSETTINGS21CONVERTTOSTRINGCONFIGURATIONMANAGERCONNECTIONST
40、RINGS“SQLSERVICES“/创建数据库连接SQLCONNECTIONOBJCONNNEWSQLCONNECTIONSETTINGSOBJCONNOPEN/创建命令对象SQLCOMMANDOBJCMDNEWSQLCOMMAND“ADDUSER“,OBJCONN/设定命令类型为存储过程OBJCMDCOMMANDTYPECOMMANDTYPESTOREDPROCEDURE/添加参数/用户名SQLPARAMETERPARAMUSERNAMENEWSQLPARAMETER“USERNAME“,SQLDBTYPENVARCHAR,16PARAMUSERNAMEVALUETBX_USERNAMET
41、EXTOBJCMDPARAMETERSADDPARAMUSERNAME/用户密码SQLPARAMETERPARAMUSERPWDNEWSQLPARAMETER“USERPWD“,SQLDBTYPENVARCHAR,12PARAMUSERPWDVALUETBX_PWDTEXTOBJCMDPARAMETERSADDPARAMUSERPWD/用户类型SQLPARAMETERPARAMUSERTYPENEWSQLPARAMETER“USERTYPE“,SQLDBTYPENVARCHAR,50PARAMUSERTYPEVALUEDDDL_POWERSELECTEDVALUETOSTRINGOBJCMDP
42、ARAMETERSADDPARAMUSERTYPETRYOBJCMDEXECUTENONQUERYLBL_MSGVISIBLETRUELBL_MSGTEXT“添加用户成功“22CATCHLBL_MSGVISIBLEFALSELBL_MSGTEXT“出现错误,请重试“BIND_USERVOIDBIND_USER/读取数据库连接字符串STRINGSETTINGSCONVERTTOSTRINGCONFIGURATIONMANAGERCONNECTIONSTRINGS“SQLSERVICES“/创建数据库连接SQLCONNECTIONOBJCONNNEWSQLCONNECTIONSETTINGSOBJ
43、CONNOPEN/创建命令对象SQLCOMMANDOBJCMDNEWSQLCOMMAND“GETUSER“,OBJCONN/设定命令类型为存储过程OBJCMDCOMMANDTYPECOMMANDTYPESTOREDPROCEDURESQLDATAREADERRESULTOBJCMDEXECUTEREADERCOMMANDBEHAVIORCLOSECONNECTIONGV_USERDATASOURCERESULTGV_USERDATABINDPROTECTEDVOIDBTN_EXIT_CLICKOBJECTSENDER,EVENTARGSESESSION“USERNAME“RESPONSERED
44、IRECT“DEFAULTASPX“PROTECTEDVOIDTBX_PWD_TEXTCHANGEDOBJECTSENDER,EVENTARGSE23533学生页面学生登录系统后为学生提供成绩查询和所有试卷进行在线考试的功能。以学生身份登录后进入学生首页,如图53所示53学生页面学生首页通过DATAGRID控件绑定数据源。首先从数据库中读取成绩信息编写存取过程,方便代码的调用。该存储过程使用参数USERNAME从SCORES信息表中读取所有学生姓名为登录用户的成绩信息。登录学生信息由SESSIONUSERNAME记录。学生页面后台支持类(STUDENTASPCS)主要代码如下PROTECTED
45、VOIDPAGE_LOADOBJECTSENDER,EVENTARGSELBLSTUNAMETEXTSESSION“USERNAME“TOSTRINGBIND_SCOREBIND_PAPERVOIDBIND_SCORE24/读取数据库连接字符串STRINGSETTINGSCONVERTTOSTRINGCONFIGURATIONMANAGERCONNECTIONSTRINGS“SQLSERVICES“/创建数据库连接SQLCONNECTIONOBJCONNNEWSQLCONNECTIONSETTINGS/打开数据库OBJCONNOPEN/创建命令对象SQLCOMMANDOBJCMDNEWSQLC
46、OMMAND“STUSCORE“,OBJCONN/命令类型为存储过程OBJCMDCOMMANDTYPECOMMANDTYPESTOREDPROCEDURE/添加参数/学生姓名SQLPARAMETERPARAMSTUNAMENEWSQLPARAMETER“USERNAME“,SQLDBTYPENVARCHAR,16PARAMSTUNAMEVALUESESSION“USERNAME“OBJCMDPARAMETERSADDPARAMSTUNAMESQLDATAREADERRESULTOBJCMDEXECUTEREADERCOMMANDBEHAVIORCLOSECONNECTIONDGDSCOREDA
47、TASOURCERESULTDGDSCOREDATABIND534在线考试页面学生点击“进入考场”后可以进入相应的考试界面,如点击题目的进入考场如图54所示25图54在线考试页面答题完成后单机“交卷”按钮即可完成本次考试。并得到本次考试的成绩。如图55所示图55在线考试成绩在线考试主要实现自动评分功能。该功能通过UPDATESCORE()函数实现,该函数详细代码如下VOIDUPDATE_SCOREINTTHESCORE0INTTOTALSCORE026FORINTI0IDGDPAPERITEMSCOUNTITEXTBOXTBXANSWERTEXTBOXDGDPAPERITEMSIFINDCON
48、TROL“TBXANSWER“TEXTBOXANSWERTEXTBOXDGDPAPERITEMSIFINDCONTROL“ANSWER“TEXTBOXSCORETEXTBOXDGDPAPERITEMSIFINDCONTROL“SCORE“INTSCCONVERTTOINT32SCORETEXTTOTALSCORETOTALSCORESCIFTBXANSWERTEXTANSWERTEXTTHESCORETHESCORE0ELSETHESCORETHESCORESC/把得到的分数写入数据库成绩表/读取数据库连接字符串STRINGSETTINGSCONVERTTOSTRINGCONFIGURATIO
49、NMANAGERCONNECTIONSTRINGS“SQLSERVICES“/创建数据库连接SQLCONNECTIONOBJCONNNEWSQLCONNECTIONSETTINGS/打开数据库连接,为数据库操作提供准备OBJCONNOPEN/创建数据库命令SQLCOMMANDOBJCMDNEWSQLCOMMAND“INSERTSCORE“,OBJCONN/命令类型为存储过程OBJCMDCOMMANDTYPECOMMANDTYPESTOREDPROCEDURE/添加参数/学生姓名27SQLPARAMETERPARAMSTUNAMENEWSQLPARAMETER“STUNAME“,SQLDBTYPENVARCHAR,16PARAMSTUNAMEVALUESESSION“USERNAME“OBJCMDPARAMETERSADDPARAMSTUNAME/试卷名称STRINGPAPERNAMELBLPAPERNAMETEXTTOSTRINGSQLPARAMETERPARAMPAPERNAMENEWSQLPARAMETER“PAPERNAME“,SQLDBTYPENVARCHAR,50PARAMPAPERNAMEVALUEPAPE