当前位置:文档之家› httpreadpudncomdownloads150docproject650472毕业论文doc

httpreadpudncomdownloads150docproject650472毕业论文doc

毕业论文

论文题目:在线考试系统

姓名:

学号:

在线考试系统(Online Test System)

摘要:本在线考试系统是利用微软最新的.net平台并用B/S结构的模式和ACCESS数据库编写的网络应用程序。它有应用简单、升级和部署方便、扩展性强等特点。满足任何授权的考生随时随地考试并迅速获得成绩,由于时间紧张,美工方面并没有下太多功夫,只是实现功能而已,界面看起来有些单调,并且现在只能对一科进行考试,没有增加科目的管理,请指导老师理解。

前言

随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,

随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。

远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。

在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的

发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!

目前,网络应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是Web Server ,而Web Server与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。

另外,考试系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。

基于上述考虑,用Browser/Web模式来设计考试系统比较合适,服务器端我们采用Access数据库系统和微软最新的.net平台及https://www.doczj.com/doc/e817382933.html,技术来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。

第一章相关知识介绍

该在线考试系统主要采用Microsoft .net Framework、https://www.doczj.com/doc/e817382933.html, Access数据库、C#语言、SQL以及Visualstudio2005等技术和工具,整体设计遵循软件工程的方法,经过需求分析、总体设计、文档和代码的编制、模块测试和系统实现几个阶段。

Asp、https://www.doczj.com/doc/e817382933.html,和.Net framework

Asp是Active Server Page的英文缩写。是微软开发的一种服务器端技术从字面上说,ASP包含三方面含义:

1、Active:ASP使用了Microsoft的ActiveX技术。ActiveX(COM)技术是现在Microsoft软件的重要基础。它采用封装对象,程序调用对象的技术,简化编程,加强程序间合作。ASP本身封装了一些基本组件和常用组件,有很多公司也开发了很多实用组件。只要你可以在服务器上安装这些组件,通过访问组件,你就可以快速、简易地建立自己的WEB应用。

2、Server:ASP运行在服务器端。这样就不必担心浏览器是否支持ASP所使用的编程语言。ASP的编程语言可以是VBSCRIPT和 JSCRIPT。VBSCRIPT是VB 的一个简集,会VB的人可以很方便的快速上手。然而Netscape浏览器不支持客户端的VBSCRIPT,所以最好不要在客户端使用VBSCRIPT。而在服务器端,则无需考虑浏览器的支持问题。Netscape浏览器也可以正常显示ASP页面。

3、Pages:ASP返回标准的HTML页面,可以正常地在常用的浏览器中显示。浏览者查看页面源文件时,看到的是ASP生成的HTML代码,而不是ASP程序代码。这样就可以防止别人抄袭程序。

由此我们可以看出,ASP是在IIS下开发WEB应用的一种简单、方便的编程工具。在了解了VBSCRIPT的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。

https://www.doczj.com/doc/e817382933.html,并不是ASP的简单的升级,它是.net Framework的一部分,而.net Framework是微软.net平台的一个重要的组成部分,它是一组用于程序开发的类库,这个类库的规模相当庞大,并且还在不断的更新中。几乎可以胜任任何程序的开发。而且.net是可以跨平台的,用它编写的程序不用重写就可以在不同的

平台下运行,就像java应用程序一样。这也是微软用.net平台与JAVA抗衡的一大优势。

https://www.doczj.com/doc/e817382933.html,是建立在通用语言运行时刻库(CLR)上的应用程序框架。他用来在服务器端构建功能强大的web应用程序。https://www.doczj.com/doc/e817382933.html,提供了几个超越以前web开发模式的优点:

·增强的性能。https://www.doczj.com/doc/e817382933.html,是运行在服务器端的编译后的CLR代码,而不是像ASP那样解释执行。

https://www.doczj.com/doc/e817382933.html,利用提前绑定,即时编译,本地优化和缓存服务来提高性能。所有这一切,性能远远大于你以往写的每一行代码。

·世界级水平的开发工具支持。在Visual Studio .net的集成开发环境(IDE)中,https://www.doczj.com/doc/e817382933.html,框架由丰富的工具箱和设计器组成。所见即所得的(WYSIWYG)编辑方式、拖放服务器控件、以及自动部署,仅仅是这一强大工具所提供的一少部分功能。

·强大而富有弹性。由于https://www.doczj.com/doc/e817382933.html,是基于CLR(公共语言运行库)的,因此整个.net平台的强大和富有弹性,同样可以应用于web应用程序开发者。.net 框架的类库、消息以及数据访问解决方案,都可以无缝集成到web。https://www.doczj.com/doc/e817382933.html,也是语言中立的,因此你可以选择你最熟悉的语言,或者通过几种语言来共同完成一个应用。而且,CLR的互用性可以保证你升级到asp.ent的时候,现存的基于COM的开发投资依然保留。

·简单。https://www.doczj.com/doc/e817382933.html,使执行常用的工作变得很容易,比如从简单的表单提交、客户端验证,到部署和站点配置。例如,https://www.doczj.com/doc/e817382933.html,允许你建立用户接口,实现页面和逻辑代码的分离,同时,就像vb的表单执行模式那样来处理事件(也就是

说,由页面驱动模式变成了事件驱动模式)。此外,CLR简化了部署,用来管理代码服务,例如自动参照和垃圾回收。

·易于管理。https://www.doczj.com/doc/e817382933.html,使用一个基于文本的、分层次的配置系统,它简化了服务器端环境和web应用程序的设置。由于配置信息用纯文本格式保存,新的设置不需要本地管理工具的支持。这种“零本地支持”的理念也同样应用到了部署https://www.doczj.com/doc/e817382933.html,应用程序。https://www.doczj.com/doc/e817382933.html,应用程序部署到服务器,简化为复制必要的文件到服务器。在部署,甚至替换正在运行的变异代码的时候,也不需要重新启动服务器。

·可伸缩性和有效利用性。https://www.doczj.com/doc/e817382933.html,被设计成可伸缩的,能为集群和多处理器环境设计提高性能。而且,https://www.doczj.com/doc/e817382933.html,运行时刻密切监视和管理进程,这样,如果发生了错误的行为,例如漏洞和死锁,新的进程会在当前位置建立,来帮助你的应用程序继续处理事件请求。

·可订制和扩展。https://www.doczj.com/doc/e817382933.html,提供一种良好的扩充结构,允许开发者在适当的级别“插入”他们的代码。事实上,使用自己的编写的组件可以扩展或者替换https://www.doczj.com/doc/e817382933.html,运行时刻的任何子组件。执行自定义验证或状态服务变得前所未有的容易。

https://www.doczj.com/doc/e817382933.html,是https://www.doczj.com/doc/e817382933.html,的一部分,作为战略产品,不仅仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。https://www.doczj.com/doc/e817382933.html, 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应

用程序中逐渐添加 https://www.doczj.com/doc/e817382933.html, 功能,随时增强 ASP 应用程序的功能。

https://www.doczj.com/doc/e817382933.html, 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 https://www.doczj.com/doc/e817382933.html, 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。

https://www.doczj.com/doc/e817382933.html, 可以无缝地与WYSIWYG HTML 编辑器和其他编程工具(包括Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。

微软为https://www.doczj.com/doc/e817382933.html,设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。

C#语言与Visual Studio 2005

C#是一种简单、现代、面向对象和类型安全的编程语言,由C和C++发展而来。C#(发音为“C霎普”)牢固地植根于C和C++语言族谱中,并且会很快被C 和C++程序员所熟悉。C#的目标在于把Visual Basic的高生产力和C++本身的能力结合起来。

C#作为Microsoft Visual Studio的一部分提供给用户。除了C#以外,Visual Studio还支持Visual Basic、Visual C++和描述语言VBScript和Jscript。所有这些语言都提供对Microsoft .NET平台的访问能力,它包括一个通用的执行引擎和一个丰富的类库。Microsoft .NET平台定义了一个“通用语言子集”(CLS),

是一种混合语言,它可以增强CLS兼容语言和类库间的无缝协同工作能力。对于C#开发者,这意味着既是C#是一种新的语言,它已经可以对用老牌工具如Visual Basic和Visual C++使用的丰富类库进行完全访问。C#自己并没有包含一个类库。

Visual Studio2005是微软开发的visual studio系列开发工具的最新版本,微软公司在2005年12月初发布新一代企业级应用开发平台.NET Framework 2.0和开发工具Visual Studio 2005。

现代信息部门的开发团队必须因应高度竞争的商业环境,快速进行应用软件系统的设计、开发、测试以及部署带领企业赢得市场。大部分的软件开发团队,都面临以下几项挑战:开发团队间的沟通困难,开发工具形形色色,分散且难以互相整合开发程序、开发标准难以建立。

Microsoft Visual Studio 2005 开发工具系列,有许多令人期盼已久的强化功能,提供更高的程序开发效率、更精简的程序代码、与更佳的安全性。包括 .NET Framework 2.0、 https://www.doczj.com/doc/e817382933.html, 2.0、64-bit 程序开发支持、新的 Windows Form 程序设计、以及对行动装置解决方案的全新开发支持。

数据源:Access数据库

Access是微软Office中一个极为重要的组成部分。起初Access是一个单独的产品,后来微软发现如果将Access捆绑在office中一起发售,将会带来更加可观的利润,于是Access第一次出现在office97中,成为office中的一个重要成员。现在它已经成为Office中不可缺少的部件了。

由于微软公司投入大量人力和资金进行技术改进和创新,Access的新版本功能已经变得越来越强大。随着版本的升级,Access的使用也变得越来越容易。以往很繁琐的工作现在只需几个很简单的步骤就可以高质量地完成了。

很多人都误以为Access只能用来做数据存储,其实Access不但能用来做数据存储,还具有非常强大的前台界面开发功能,利用各种控件和VBA语言,能开发出功能十分强大的软件系统,与此同时,廉价,易用更是其他任何开发工具所不能比拟的。因此人们可以利用它来解决大量的数据管理工作。

第二章需求分析

要实现一个软件系统,首先应该进行需求分析,这样才能令设计出的软件满足用户的各项功能。下面就对在线考试系统的设计进行需求分析。

2.1 系统需要解决的主要问题

首先,因为考试是面向特定的某些对象的,所以考试者进入系统应该进行身份验证。考试者进入考试系统后,应该能根据自己的需要选择考试科目,所以该系统还应具有考试科目选择的功能。在线考试于一般的单机考试是不同的。鉴于考试环境一般为机房,考试者之间的距离很近,为了在线考试做到规范,对于每个应试者来说,试卷的试题和题量都应是相同的,但试题并不相同。在线考试基于网络环境,试卷应该从服务器的数据库随机抽取试题后动态生成的。另外,系统还应该对考试时间进行控制,时间到了会要求考试者交卷。考试者选择答案提交后,应该由计算机自动判卷,得到成绩后显示出来。考试完毕后,可以返回登录界面或继续考试。此外,应该能够方便、快捷的对在线考试系统管理,此外,用户还应能进行远程注册。

2.2 系统应该具备的基本功能

用户登陆:用户通过用户名和密码进行登录。

用户信息的管理:管理员可以增删用户

试题库管理:可以增加、修改、删除试题。

试卷生成:从试题库里随机抽取试题生成一份原始试卷。

在线考试:系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷。

计算机自动阅卷:本系统只考虑客观题,要求计算机能自动阅卷,然后马上显示出考生分数。

成绩查阅:考生考完以后,管理员应该能对所有纪录进行查询,并应该可以删除指定纪录。

第三章系统总体设计

3.1基本简介

该系统是专门用于用户注册、登录、参加在线考试以及管理员进行试题录入、修改、删除、成绩查询、管理用户的https://www.doczj.com/doc/e817382933.html,应用程序。它应该具有开放性、方便性和灵活性。考生进行有效的身份验证登录后,要求在规定的时间内进行答题,当达到规定的时间后,系统将自动予以提示。一旦考生做完交卷后便能立即看到自己的考试成绩,并且其分数将被记入库中以供审核和查阅;另外,还可完全由计算机自动灵活、随机的抽取试题库中的各类试题组成各种形式的试卷,其内容会随着库中试题的改变而改变,而且,不同的考生生成的试题是不同的。

3.2 运行环境与系统结构

为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。其运行要求如下:

☆软件环境:

客户端: Windows98/2000/XP,IE5.0以上

服务器端:Windows NT/Windows2000,Windows 2000 Server,IIS 5.0及其以上版本。

开发环境:.Net framework 2.0,Visual studio 2005,MDAC 2.7

数据库:采用access ,运行于服务器端。

☆硬件环境:

服务器 CPU:PIII 500以上 ,内存:256M 以上

客户机 CPU:P200MMX 以上,内存:32M 以上

3.2 系统结构图

根据需求分析,在线考试系统的结构图如下:

3.3 详细设计

详细设计是整个设计过程中,最重要的步骤之一。下面就分如下几个部分对系统进行详细设计:(1)试题设计(2)数据库中表的设计(3)管理功能设计(4)功能模块详细设计

3.3.1试题设计

鉴于主观题的主观性,目前无法实现系统自动判卷,所以本系统只作客观题部分。一般情况下,单选题往往在四个供选的答案A、B、C、D中选择唯一正确的答案;

3.3.2数据库中表的设计

1.question表结构

通常,每一类型的试题都应有一个表结构。但考虑到目前系统存贮空间可以很大,也为了更加方便。我们采用把全部试题集中在一起的方案来建立数据表,每道客观题均有四个备选答案项,字段名一般是相应的英文单词。这样,查询起来较方便,会节约时间,也不致于造成数据十分杂乱等。详细设计如下表所示:表3-1 question 表

各字段说明:

ID是问题的id号,用来唯一标志该问题,把它设为主键,类型为自动编号。

Question字段为问题内容,类型为文本。

A字段代表选项A的内容

B字段代表选项B的内容

C字段代表选项C的内容

D字段代表选项D的内容

Answer字段表示答案选项

Hasselected字段表示是否已经选择过本题

score表

各字段说明:

studentname字段代表在某次考试记录中学生的名字。score字段为某次考试纪录中考试分数。

id字段为某次考试纪录的标志号。

Testtime字段代表考试的结束时间。

student表结构

student表

各字段说明:

studentname字段代表学生的名字。

studentpassword字段代表密码。

admin表结构

admin表

各字段说明:

name字段代表管理员的名字。

password字段代表密码。

id字段为管理员的标志号。

3.3.3 用户、管理员权限

管理员:在此系统中只有一个管理员,即系统管理员。具有一般用户所没有的权限,即具有管理一般用户、试题管理功能。

一般用户:主要是指学校的学生和企事业单位的培训对象等

3.3.4 功能模块详细设计

下面,对各个功能模块分别进行详细讨论,具体情况见系统源程序。

3.3.

4.1 管理模块

管理员可以向题库中添加各种类型且符合要求的试题,也可以对它们进行修

改和删除。同时,管理员也能对科目、用户、考试记录等数据进行管理。

试题管理

(1)试题录入

首先,试题的录入是通过一个https://www.doczj.com/doc/e817382933.html,页面中的web服务器控件:GridView 完成的。GridView控件是.net framework2.0新增加的一个数据绑定控件。它的功能比.net framework1.1中的DataGrid控件的功能进一步加强,并且效率也有所提高。

(2)试题修改

管理员还可以对试题进行修改。不过,对于各表中的主键不用修改,避免了造成系统中的数据混乱,或者覆盖其它有用数据的现象。如果用户执行了非法操作,则必须重新操作。对于对数据库数据的修改,在以前的asp页面中比较麻烦,要想修改一条记录,必须写很长的代码。在https://www.doczj.com/doc/e817382933.html,中,几乎可以不写一行代码,就可以对数据库记录进行修改。

(3)试题删除

管理员可以删除不再需要的试题。通过在每一条记录的后面放置一个button 按钮并提示用户是否要删除,来完成试题的删除。

3.用户管理

管理员可以通过管理界面添加或删除用户。

3.3.

4.2在线考试模块

进入在线考场是本系统最重要的部分之一。因为一个系统如果涉及到现实的话,就必须考虑得十分周到、完善。考生登录后,只要选择考试科目以后,就可以调出试卷进行在线考试。系统所选的题是随机选出的,这样就会使每个考生的

试卷都不同。考生的其答题信息通过单选按钮选择答案来反映。考试结束采取自主交卷的方式办法予以实现。系统会在考试时间结束前1分钟提示考生交卷。

第四章系统实现

在进行了整体设计以后,就开始进行详细的设计及编码工作。也就是设计文件和把他们有机地组织在一起实现所有功能。

根据系统总体设计,首先系统要有一个登录界面,用户可以从该界面登录参加考试。管理员也应该有一个进入管理登录界面的通道。进入开始考试界面,由计算机随机提取试题,显示出来组成试卷,并开始进行计时。考生再次进行考试,答完试题后交卷,进入下一个界面。

考生提交答卷后,由计算机进行处理--判卷,得出考试分数,显示出来,并把该生考试记录存入数据库。在这个界面上应该可以返回继续进行考试或回到登录界面。

以上是系统进行考试功能的部分,要对系统进行管理,如试题管理、科目管理、用户管理等就需要设计一些管理界面。下面就来逐步进行设计。

要进行管理首先要有管理员登陆验证,这里另外设计了一个界面,使它与用户登录区别开来。这个界面与用户登录界面表面上很相似,但是他们是从不同的表中提取数据进行验证的,以便于系统扩充和增加安全性。

管理用户的界面可以实现用户的增加、和删除的功能,管理员在此可以对用户进行管理。

管理管理员的界面,功能和管理用户的差不多,实现对管理员的增加和删除功能。

管理考试纪录界面可以对考生的每次考试进行纪录,管理员科可以对考生成

绩、时间及考试各相关纪录进行查询和删除。

最后是试题库管理界面,它根据各科进行分类。通过这个界面管理员可以对题库中的某科试题进行增加、修改或删除。这样就十分方便灵活的对试题库进行管理。

参考文献:

《https://www.doczj.com/doc/e817382933.html, 1.1高级编程》作者:Alex Homer Dave Sussman

清华大学出版社

《数据库技术》作者:罗晓沛华中理工大学出版社

MSDN部分文章

部分代码:

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.OleDb;

public partial class test : System.Web.UI.Page

{

int numberofti = 11;//生成试题的数量

int[] testlist;//存放10个随机数的整型数组

DataTable Test = new DataTable();//用于存放随机抽取的试题;

OleDbConnection conn;//数据库连接

protected string[] userselect = new string[10];//考生选择的答案protected string[] trueanswer = new string[10]; //该题正确的答案

protected void Page_Load(object sender, EventArgs e)

{

lblname.Text = (string)Session["username"];

lbllogintime.Text = (string)Session["logintime"];

Button1.Visible = false;

}

///

///生成10个随机整数,并存放于数组中

///

///

///

protected void btnbegin_Click(object sender, EventArgs e)

{

testlist = new int[numberofti];

string connecionstring = (string)Application["connectstring"]; conn = new OleDbConnection(connecionstring);

string commandtext = "select count(id) from question";

OleDbCommand comm = new OleDbCommand(commandtext);

comm.Connection = conn;

OleDbDataAdapter da = new OleDbDataAdapter(commandtext, conn);

DataTable dt_rowcount = new DataTable("rowcount");

da.Fill(dt_rowcount);

int rows = int.Parse(dt_rowcount.Rows[0][0].ToString());

for (int i = 0; i < numberofti; i++)

{

int temp = GetNumber(rows);

while (ArrayHasItem(testlist, temp))

{

temp = GetNumber(rows);

}

testlist[i] = temp;

}

OleDbConnection newconn = new

OleDbConnection((string)Application["connectstring"]);

OleDbCommand newcomm = new OleDbCommand();

newcomm.Connection = newconn;

newconn.Open();

for (int x = 0; x < numberofti; x++)

{

https://www.doczj.com/doc/e817382933.html,mandText = CreateSQL(testlist[x].ToString()); newcomm.ExecuteNonQuery();//把数组里每一个题的ID所对应的

标志位置为1,表示该题已经选上

}

da = new OleDbDataAdapter("select * from question where hasselected='1'", conn);//选择题目

da.Fill(Test);//把选择的题目放入DataTable

https://www.doczj.com/doc/e817382933.html,mandText = "update question set hasselected='0' where hasselected='1'";//把已经选择的题目的标志位置为0,以便下次再选

conn.Open();

newcomm.ExecuteNonQuery();

conn.Close();

GridView1.DataSource = Test;

GridView1.DataBind();

Button1.Visible = true;

int number = Test.Rows.Count;

}

///

///按照随机数组里的ID号,抽取试题

///

///

///

private DataTable GetTestTittle(int[] temarray)

{

DataTable testTable = new DataTable();//存放试题的表

DataTable temptable = new DataTable();

OleDbDataAdapter odap = new OleDbDataAdapter("select top 30 * from question", conn);

OleDbCommand cmdselect = new OleDbCommand();

odap.Fill(testTable);

return testTable;

}

///

///根据每一个ID号生成SQL语句

///

///

///

private string CreateSQL(string id)

{

return"update question set hasselected='1' where id=" + id; }

///得到随机数

///

///随机数的最大值

///

private int GetNumber(int maxvalue)

{

Random rd = new Random(DateTime.Now.Second);

int result = rd.Next(maxvalue + 1);

if (result == 0)

result = 1;

return result;

}

///

///判断一个整数数组里面是否包括一个整数

///

///数组

///一个整数

///

private bool ArrayHasItem(int[] array, int item)

{

for (int i = 0; i < array.Length; i++)

{

if (array[i] == item)

{

return true;

}

}

return false;

}

///

///退出系统,并转到登陆页面,清除session

///

///

///

protected void Button2_Click(object sender, EventArgs e) {

Session.Clear();

Response.Redirect("default.aspx");

}

///

///交卷

相关主题
文本预览
相关文档 最新文档