代码贴士
计算机科学与工程系毕业设计 (论文)
? 判断登录身份是否为“学生” ,如果登录身份为“学生” ,则通过公共类中验证是否为学生登录的CheckStudent 方法进行验证。
? 判断登录身份是否为“教师” ,如果登录身份为“教师” ,则通过公共类中验证是否为教师登录的CheckTeacher 方法进行验证。
?判断登录身份是否为“管理员”,如果登录身份为“管理员”,则通过公共类中验证是否为管理员登录的CheckAdmin 方法进行验证。
(3)单击“取消”按钮,关闭登录窗口。关键代码如下:
5.4 随机抽取试题模块概述
开发在线考试系统过程中,需要考虑的一点是如何将试题显示在页面上,如何将试题从数据库中读取出来。比较合理的做法是将所有试题信息存储在数据库中,然后随机抽取若干道试题,动态地显示在页面当中。为了实现此功能,设计出随机抽取试题模块,运行结果如图5.2所示。
图5.2随机抽取考试试题
16
Newid()函数
计算机科学与工程系毕业设计 (论文)
功能:创建 uniqueidentifier 类型的唯一值。语法格式如下: NEWID ( )
返回类型:uniqueidentifier。
例如,对变量使用 newid 函数,使用 newid 对声明为 uniqueidentifier 数据类型的变量赋值。在测
试该值前,将先打印 uniqueidentifier 数据类型变量的值。
下面是结果集:
例如:从数据表 tb_Test 中随机抽取 10 条数据,可以利用下面的代码实现:
5.5 随机抽取试题模块实现过程
本模块使用的数据表:tb_Lesson、tb_score、tb_test 随机抽取试题模块的具体实现步骤如下:
(1)在随机抽取试题之前,考生要选择考试的科目,然后根据选择的科目随机从数据库中抽取试题给考生。所以,考生选择考试科目是随机抽取试题的条件,其运行结果如图5.3所示。
图5.3选择考试科目
程序首先根据考生选择的科目对数据库进行检索,查看数据库中是否有相关的试题。 如果存在试题,则跳转到随机抽取试题页面;否则,提示考生选择的考试科目在数据库中没有试题。关键代码如下:
17
计算机科学与工程系毕业设计 (论文)
(2)新建一个网页,命名为 StartExam.aspx,作为随机抽取试题页面及考试页面。该页面中用到的主要控件如表5.2所示。
表5.2随机抽取试题页面用到的主要控件
(3)当页面加载时,根据考生选择的科目在数据库中随机抽取试题,并显示在 Panel 控件中。关键代码如下:
18
计算机科学与工程系毕业设计 (论文)
(4)考生在规定的时间内进行考试,当考生答题完毕,单击“交卷”按钮提交试卷,此时系统会将该考生的答题结果提交给自动评分模块。关键代码如下:
19
计算机科学与工程系毕业设计 (论文)
5.6 自动评分模块概述
在线考试系统和普通考试的流程是一样的,考生答卷完毕后要对考生的答案评分。根据实际的需要,在线考试系统中加入了自动评分模块,当考生答题完毕提交试卷时,系统会根据考生选择的答案与正确答案进行比较,最后进行评分,运行结果如图5.4所示。
图5.4自动评分模块运行结果
5.7 自动评分模块技术分析
自动评分模块使用的基本技术是字符串的截取与比较,下面介绍使用 Substring 方法和 Equals 方法对字符串进行截取与比较。
(1)截取字符串
功能:使用 Substring 方法可以从指定字符串中截取子串。 语法格式如下:
20