《【计算机软件毕业设计】保定市干部学习网络平台---考试子系统.doc》由会员分享,可在线阅读,更多相关《【计算机软件毕业设计】保定市干部学习网络平台---考试子系统.doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、河北农业大学 本 科 毕 业 设 计题 目: 保定市干部学习网络平台-考试子系统 摘 要如今计算机网络技术不断发展,相对于传统的基于纸笔的考试形式已不能适应现在的发展需,同时计算机在线考试模式逐步替代传统考试模式。利用网络的计算机在线考试系统应运而生。在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。本文主要实现系统的后台管理系统JAVA在线考试管理子系统,包括试题管理、考生管理、在线试卷生成等功能。本文设计并且实现了一个基于web技术的在线考试系统。系统主要以j2EE作为开发基础,用m
2、yeclipse作为开发工具,以SQL Server作为数据库。基本实现了网上考试系统应有的主要功能模块,包括:管理员的登录,管理和维护;用户注册、登录,个人信息的查询、修改;考试管理,套题管理,成绩管理。该系统界面简单、操作方便,容易维护。关键词:在线考试 J2EE JSP Servlet SQL ServerAbstractToday, the development of computer network technology , as opposed to the traditional paper- based exam forms of development can not me
3、et the current needs , while computer online exam mode gradually replace the traditional mode of examination . Online examination system using computer networks came into being. Online examination system designed to achieve paperless management exam , exams for some subjects can be carried via the I
4、nternet or LAN to facilitate the management of the school Examination , candidates are also convenient , especially for wide distribution of candidates , distance education is not easy to concentrate . In this paper, backstage management system to achieve system -JAVA online exam management subsyste
5、m , including test management , candidate management , online papers generation capabilities.This paper designs and implements a web-based online examination system technology . J2EE mainly as a development system based on using eclipse as a development tool to SQL Server as the database. The basic
6、realization of the main functions of the module online examination system should include : administrator, log management and maintenance ; user registration , login, access their personal information , modification ; exam management, sets of questions management, performance management . The system
7、interface is simple , easy to operate, easy to maintain.Keywords: Online Examination j2EE JSP Servlet SQL Server目录摘 要21引言61.1 研究背景61.2 研究意义61.3本文结构62 系统应用的关键技术82.1开发工具和开发环境82.1.1开发环境82.1.2开发软件82.1.3系统环境配置82.2 JSP技术介绍82.2.1 JSP的概述82.2.2 JSP的运行机制92.2.3 JSP的优点和缺点92.3 Servlet技术102.3.1 Servlet技术简介102.4 J
8、ava组件JavaBeans102.4.1 什么是JavaBeans102.4.2 JSP与JavaBeans的关系102.5 关于B/S开发模式112.5.1 B/S开发模式简介112.6 Tomcat服务器112.6.1 Tomcat 服务器简介112.6.2 Tomcat的特点122.6.3 Tomcat的优势122.7 AJAX技术122.7.1 AJAX技术简介122.7.2 AJAX技术工作原理122.7.3 AJAX技术应用优势133 系统需求分析和总体设计143.1 需求分析143.1.1 设计思想143.1.2 系统功能需求143.2 系统角色及其功能分析143.2.1 系统
9、的3个角色143.2.2 系统角色的功能143.3 概要设计153.3.1 系统总体架构设计153.3.2 系统功能模块153.4 系统功能模块设计153.5 系统流程图164 详细设计及部分代码174.1 数据库设计174.1.1 数据库的选择174.1.2 数据库表的设计174.1.2 数据库实体关系图设计184.2 数据库的连接184.3添加试卷194.3.1 添加试卷界面展示194.4 利用AJAX技术实现局部刷新功能215 总结235.1技术特点235.2缺点及不足235.3总结23致谢24参考文献251引言1.1 研究背景随着Internet/Intranet的迅速发展和广泛普及,
10、网络学习考试系统成为现代教育技术未来发展方向之一。作为网络学习平台的一个子系统考试子系统,也成为一个重要的研究领域。现代网络考试作为一种新的考试手段已经开始进入人们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。网络考试系统极大地提高了教学的灵活性,现在在许多领域已经有了广泛的应用。最有影响的案例就是ETS(美国教育考试中心)举办的GPE(美国研究生入学考试)的计算机化考试,它使考试由原来的每年只能有两次参加考试的机会变成了每个工作日都可以参加的考试。而且国外的一些计算机水平考试中也都使用了在线考试来代替传统的笔试,如美国计算机专业人员认证学会ICCP实施的有关认证考试。
11、而国内典型的有由教育部考试中心主办的全国计算机等级考试、各省的非计算机专业大考生水平考试,还有用于教考分离的各种题库等。1.2 研究意义目前,基于在线考试面向的主要是社会上的培训认证考试(如ADOBE的各种认证考试,驾校的理论考试),而题目大多以选择题为主,所以它可以免去考试管理员大量的临考工作,试卷可以根据题库中的内容即时生成;考试管理员也无须去做考后的阅卷,计算机可以自动判卷,直接把成绩送到数据库中。实现无纸化考试,大大提高了工作效率,同时,试卷是随机组成的,不存在试卷的泄密和考试作弊问题,使考试的公平性、答案的安全性得到有效的保证。在线考试系统具有降低考试成本,解决繁重的考务工作的优点。
12、在线考试系统是社会的网络化发展的必要趋势,它将成为一种不可或缺的考试方式。本文研究的目的是设计一个简易的网络在线考试系统,其具有一定的通用性以及便捷性,能够满足多门课程的测试与考核要求。为考生利用网络自主学习提供条件,为不同课程的网上考试提供平台。为了满足系统对便捷性、可靠性、安全性、扩展性、跨平台性等方面的要求,系统总体架构设计采用先进的基于B/S的三层体系结构:考生用户层、考试管理层、考题数据层。需要建立后台数据库,内含一个试题样库,考试管理员可以在题库中添加、编辑和删除试题同时可以增加新的考试科目。并可以充分利用题库中的试题由系统随机组卷,在指定时间内发布试卷。考生可以利用设定的账号及密
13、码登录考试系统,进行考试、练习、查询等功能。此外,还应具有良好的用户界面,操作方便,尽量减少误操作率。1.3本文结构 本文共分五个章节,系统地阐述了系统开发的全过程。第一章,主要介绍了开发的背景、目的和意义。第二章,主要介绍了本系统所用到的关键技术和工具,为下一步的设计的设计奠定基础。第三章,主要介绍了本系统开发过程中的需求分析和概要设计。第四章,主要介绍了主要模块的设计与实现,并给出关键源代码。第五章,主要是对这次毕业设计的总结和对后续工作的展望。2 系统应用的关键技术2.1开发工具和开发环境2.1.1开发环境主机操作系统: WINDOWS72.1.2开发软件JDK1.6及以上版本 集成开发
14、环境:Myeclipse 数据库:SQL SEVVER 2008.Web应用服务器:Tomcat 6.0及以上版本2.1.3系统环境配置使用java环境下开发程序,必须在电脑中安装jdk和tomcat,并配置系统环境变量,程序正常运行。系统所处环境变量设置如下:Set java_home D:Javajdk1.6.0_25Set Catalina_home D: Apache-tomcat-6.0.18Set CLASSPATH D:Javajdk1.6.0_25libSet sql path D:Microsoft SQL Serverjdbc driversqljdbc_3.0chssql
15、jdbc.jar.;%java_home%libtool.jar;%java_home%libdt.jar;%catalina_home%libjsp-api.jar;%catalina_home%libservlet-api.jar;2.2 JSP技术介绍2.2.1 JSP的概述JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JS
16、P网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。2.2.2 JSP的运行机制JSP文档被复制到Web服务器的文档目录中。当有人请求这个文档时,服务器识别出这个带有.jsp扩展名的文档,并意识到需要做特殊处理。第一次请求这个文档时,它被编译成一个servlet对象,并存储在内存中,然后输出内容回送给发出请求的用户机。第一请求之后,只要有
17、请求到来,服务器将进行检查,看看这个文件是否做过改动,如果没有变化,服务器调用先前编译过的servlet对象。JSP请求的步骤如图2-1所示:(1)用户机请求一个JSP页面。(2)JSP引擎编译该JSP成一个servlet。(3)生成的servlet被编译并装载。(4)编译的servlet服务请求并把一响应发送回用户机。Web浏览器JSP页面生成的servlet编译的servletWeb服务器2第一次编译3第二次编译1请求4响应图2-1 一个JSP的请求步骤JSP主要是针对Java程序处理不熟悉的人设计的。与Servlet相比,JSP有如下两个优势:方便与HTML混合;在开发、测试方面比Ser
18、vlet方便。2.2.3 JSP的优点和缺点JSP的强势:(1)只要编译一次,就能在其他环境中运行。比其他语言优秀更。(2)用JSP做的系统的可以再跨平台运行。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP等语言的局限性是显而易见的。 (3)强大的嵌入性。很多jar文件就可以运行Servlet/JSP,比如servlet-api.jar、catalina.jar等,可以处理很多对象信息比如application对象还有response对象,显示了一个巨大的适应性。 (4)开发工具强大。有Java和tomcat等强大的开发工具,因为Java开发工具
19、强大可以看出jsp据用强大的生命力,强大的后台语言技术开发工具支持。JSP的劣势:(1)为了跨平台的功能,为了极度的伸缩能力,极大的增加了产品的复杂性,Java系统中包括JRE,JDK,J2EE,EJB等多种产品,这就需要大量的学习和培训才能掌握它们,将它们有效地搭配在一起,灵活地加以运用。(2)Java的运行速度快是由于用户将class常驻内存,这样使用的内存空间就比较大。另一方面,它还需要硬盘空间来存储一系列.Java文件和.class文件以及对应的版本文件。(3)JSP只有对Java相当熟悉的人才能用得很好。(4)JSP程序调试困难。2.3 Servlet技术2.3.1 Servlet技
20、术简介Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含 支持Servlet的Java虚拟机。2.4 Java组件JavaBeans2.4.1 什么是JavaBeansJavaBeans事实上有三层含义。首先,JavaBeans是一种规范,一种在Java(包括J
21、SP)中使用可重复使用的Java组件的技术规范。其次,JavaBeans是一个Java的类,一般来说,这样的Java类将对应于一个独立的.java文件,在绝大多数情况下,这应该是一个public类型的类。最后,当JavaBeans这样的一个Java类在我们的具体的Java程序中被示例之后,我们有时也会将这样的一个JavaBeans的实例称之为JavaBeans。2.4.2 JSP与JavaBeans的关系使用JSP技术,Web页面开发人员可以使用HTML和XML标识来设计和格式化最终页面。使用JSP标识或者小脚本生成页面上的动态内容。生成内容的逻辑被封装在JSP标识和JavaBeans组件中,
22、并且捆绑在小脚本中,所有的脚本在服务器端运行。核心逻辑封装在标识和Beans中,可以方便页面设计者编辑和使用JSP页面。在服务器端,JSP引擎解释JSP标识和小脚本生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库),并且将结果以HTML(或XML)页面的形式发送回浏览器。绝大多数JSP页面依赖于可重用的跨平台的足见(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的复杂的处理。这样的好处是开发人员能够共享和交换执行普通操作的组件,加速了总体开发过程。因此,基于Web的较为复杂的应用程序(如JSP开发网站或网上MIS),J
23、SP的复杂架构必须由JavaBeans达成。2.5 关于B/S开发模式2.5.1 B/S开发模式简介B/S 开发模式伴随着Internet的迅速发展,计算机技术正在由基于C/S(client/ Server)模式的应用系统转变为基于B/S模式的应用系统。过去,网络软件的开发都采用C/S(client)模式,在这种模式下,主要的业务逻辑都集中于用户端程序,因此,必然导致以下问题:a)系统安装、调试、维护和升级困难。由于用户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个用户端分别进行配置,同样,在软件升级时也要对用户端分别处理。b)在整个系统中,业务逻辑和用户界面都集中到
24、了用户端,必然会增加安全隐患。B/S模式带来了巨大的好处:a)开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的用户端只有浏览器,网络管理人员只需要做硬件维护。b)良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有用户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。2.6 Tom
25、cat服务器2.6.1 Tomcat 服务器简介Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat中采用了Servlet容器:Catalina,完整的实现了Servlet2.3和Jsp1.2规范。Tomcat提供了各种平台的版本供下载,可以从其官方网站上下载其源代码版或者二进制版。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。2.6.2 Tomcat的特点在
26、Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。2.6.3 Tomcat的优势Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页
27、面。但是与Apache相比,它的处理静态Html的能力就不如Apache.我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。2.7 AJAX技术2.7.1 AJAX技术简介AJAX是指一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页面。Ajax的核心是JavaScript对
28、象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。2.7.2 AJAX技术工作原理Ajax的工作原理相当于在用户和服务器之间加了个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像些数据验证和数据处理等都交给Ajax引擎自己来做, 只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。Ajax其核心只有JavaScript、XMLHTTPRequest和DOM,在旧的交互方式
29、中,由用户触发一个HTTP请求到服务器,服务器对其进行处理后再返回一个新的HTHL页到客户端, 每当服务器处理客户端提交的请求时,客户都只能空闲等待,并且哪怕只是一次很小的交互、只需从服务器端得到很简单的一个数据,都要返回一个完整的HTML页,而用户每次都要浪费时间和带宽去重新读取整个页面。而使用Ajax后用户从感觉上几乎所有的操作都会很快响应没有页面重载(白屏)的等待。2.7.3 AJAX技术应用优势AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。使用Javascript向服务器提出请求并处理响应而不阻塞用户!核心对象XMLHTTPReques
30、t。通过这个对象,您的 JavaScript 可在不重载页面的情况与Web服务器交换数据。AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。AJAX 可使因特网应用程序更小、更快,更友好。AJAX 是一种独立于 Web 服务器软件的浏览器技术。AJAX 应用程序独立于浏览器和平台。Web 应用程序较桌面应用程序有诸多优势,它们能够涉及广大的用户,它们更易安装及维护,也更易开发。不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。3 系统需求分析和总体设计3.1 需求分析3.1.1 设计思想用户必须登录进入相
31、关角色才能使用相关权限的功能。试题库中必须有一定的类别的试题,作为初始库。考生登录系统后可选择相应科目进行考试,考试结束后可以提交试卷并查询考试成绩,对于考试管理的工作完全可以由考试管理员负责,超级管理员具有本系统的最高权限。3.1.2 系统功能需求(1)基础功能 如学员或管理员登录、修改密码、修改个人信息等。(2)在线考试功能 学员登录后可以通过考试平台进行考试,并可以在考试结束后查看考试成绩。(3)在线管理功能 管理员登录后可以通过考试平台修改题库,重新出题,生成新试卷以及发布试卷从而进行考试管理等。超级管理员登录后可以设置角色属性,管理用户登录权限等。3.2 系统角色及其功能分析3.2.
32、1 系统的3个角色1.普通用户2.考试管理员3.超级管理员3.2.2 系统角色的功能1.普通用户使用系统的功能,用户必须先注册,只要注册为网站用户后,获得自己的帐号,设置自己的密码就具有以下功能:登录,退出,参加考试,提交试卷,查询成绩,添加或修改个人资料等。2.考试管理员考试管理员负责考试流程控制,可以管理考生和管理试题库,制定和修改考试计划等。3.超级管理员超级管理员具有本系统的最高管理权限,登录后可以设置角色属性,管理用户登录权限等。3.3 概要设计数据库JavaBeanServletJsp,Javascript,AJAX3.3.1 系统总体架构设计图 3-1 系统总体架构分析图系统总体
33、架构如图 3-1,Web服务器接受请求,通过应用程序服务器执行一个Java服务器端小程序Servlet并返回其输出,从而实现与客户机进行信息资源的交互。数据库服务器用来存储管理信息系统中所用到的各种数据,数据由数据库管理程序直接录入。系统的客户端只需要一个浏览器即可。相关人员通过浏览器来查询、增加、修改、删除数据,对信息进行管理。3.3.2 系统功能模块该子系统包括系统管理模块,题库管理模块,考试计划管理模块,考试模块。系统管理模块可以对考生和考试管理员进行管理以及对考试系统的更新维护等。题库管理模块允许增加、删除、修改试题等。考试计划管理模块包括生成新试卷,发布试卷,制定考试计划等。考试模块
34、可以实现考生考试等。系统管理模块管理员管理模块结果处理模块考试计划管理模块考生管理模块 生成试卷 删除试卷 发布试卷题库管理模块 考试模块 进入考试 提交试卷 增加试题 删除试题系统管理模块3.4 系统功能模块设计图 3-2 系统模块设计如图3-2所示,在本系统中主要阐述系统管理、考试计划管理、考试管理、题库管理四个模块。(1)考试管理:实现考生准备考试,开始考试,自动阅卷,显示考试成绩等。(2)题库管理:实现试题库中试题的分类和增加,删除,以及答案的设置等。(3)考试计划管理:实现考试管理员生成试卷,发布试卷,制定考试计划等。(4)系统管理:实现用户注册、用户信息修改、用户查询功能。3.5
35、系统流程图考生考试成绩查询退出系统考试管理员登录考试系统系统身份验证进入考试系统生成试卷发布试卷系统身份验证失败管理试题库考生登录系统系统身份验证图 3-3 系统流程图系统流程如图3-3所示,在本系统中考试管理员登录系统后,可以利用题库中的试题合成一张试卷,从而制定一份考试计划,发布试卷之后,考生再登录系统便可以进行考试,考试可以实现自动阅卷,最后考生考试结束后可以查询考试成绩。4 详细设计及部分代码4.1 数据库设计4.1.1 数据库的选择在开发这个系统上,通用性是我们考虑的一个重要因素,因为主要用于服务器运行web系统,所以选择sql数据库。在匹配上比较适合系统。4.1.2 数据库表的设计
36、表 4-1 Online_shijuan_ML用来表示考试计划主表列名 类型 长度 主键 是否为空描述id Int 默认 是否试卷编号shijuan_nameVarchar 60 否否试卷名称shijuan_bumenVarvhar 60 否否试卷科目timu_shuliangInt 默认 否否每张试卷中的题目数量shijuan_quanxianInt 默认 否否试卷发布与否meitifenshuInt 默认 否否每题分数zongfen Int 默认 否否试卷总分kaoshi_sjInt 默认 否否考试时间表 4-2 Online_Examination_SJZB用来表示试卷和试题的匹配关系列
37、名 类型 长度 主键 是否为空描述id Int 默认 是否考试计划编号shijuanid Int 默认 否否试卷编号shitiid Int 默认 否否试题编号表 4-3 Online_ST用来表示试题表列名 类型 长度 主键 是否为空描述id Int 默认 是否试题编号leixingVarchar 60 否否试题所属科目timuVarvhar 500 否否试题的题目xxaVarvhar 500 否否试题的A选项xxbVarvhar 500 否否试题的B选项xxcVarvhar 500 否否试题的C选项xxd Varvhar 500 否否试题的D选项daanVarchar 500 否否试题答案4
38、.1.2 数据库实体关系图设计用户类别用户id考生登录密码吗所在单位部门联系方式试题数目考试时间用户名考试试卷名称试卷id试卷试卷类别每题分数组成试卷总分生成和发布试题题目试题选项试题id试题科目试题答案试题考试管理员用户id用户名登录密码联系方式管理n1n1nnnn图 4-1 系统实例分析4.2 数据库的连接数据库连接操作部分代码如下:public class conn private Connection con = null; /连接对象 private Statement stmt = null; /管理数据库的对象 private ResultSet rs = null;/数据库包装
39、数据的对象/ *建立连接*public conn() try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);/查找数据库驱动String path = jdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName=user1;/访问数据库的方式:要访问的数据库类型:要访问的数据库的地址:要访问的那个数据库的名字String name = sa;/数据库连接用户名String word = 123;/数据库连接密码con = DriverManager.getConnectio
40、n(path, name, word);/连接数据库catch (Exception e) 4.3添加试卷4.3.1 添加试卷界面展示图 4-2 添加新试卷添加试卷的界面如图4-2所示,每次从试卷表中查找出当前正在添加的试卷id,再从试题表中随机查找出对应科目,对应数量的试题id,生成一张试卷,将这个考试计划加入到试卷子表当中去,试卷子表增加对应数量的条目。Public int add_shijuan(String shiti_leixing,String shiti_name,String shuliang,String meitifs,String kaoshisj)int zongfen
41、,mei,ds;/每题分数mei=Integer.valueOf(meitifs).intValue();/数量ds=Integer.valueOf(shuliang).intValue();/总分zongfen=mei*ds;String sql=insert into Online_shijuan_ML(shijuan_name,shijuan_bumen,timu_shuliang,shijuan_quanxian,meitifens hu,zongfen,kaoshi_sj)values(+shiti_name+,+shiti_leixing+,+shuliang+,2,+meitif
42、s+,+zongfen+,+kaoshisj+);String querySql = select * from Online_ST where leixing = +shiti_leixing+;String shijuanidSql = select top 1 * from Online_shijuan_ML order by id desc ;conn cn = new conn();ResultSet result = cn.query(querySql);/查找某一个指定科目的所有试题赋给resultint i=cn.update(sql);ResultSet idResult =
43、 cn.query(shijuanidSql);/查找那个试卷表中的最新生成的一条试卷数据赋给idResultInteger stid;List idList = new ArrayList();try Integer sjid = new Integer(0);/每次为sjid初始化一个0while(idResult.next() /此处用循环为固定写法,必须用next检验之后才可以写下面一句代码sjid = idResult.getInt(id);/将查找出来的试卷id取出赋给sjid变量while(result.next()stid = result.getInt(id);idList.
44、add(stid);/用idList来存储所查找出来的指定的那个科目的所有试题的idList newList = getRandomId(idList, ds);/取得idList中的ds条,放到一个数组newList中for (Integer integer : newList)String sjzbSql = insert into Online_Examination_SJZB (shijuanid,shitiid)values(+sjid.toString()+,+integer.toString()+);/将选择出来的题目id和一张试卷id组装成一张试卷,加入到试卷子表中去cn.update(sjzbSql);/刷新数据库 catch (SQLException e1) e1.printStackTrace();return i;public L