VB002无纸化考试系统
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
第四章 数据库设计
经过了上面的分析,我们现在已经知道了我们系统的所有具有的功能,也就知道了系统需要存取些什么数据了,接下来我们进行数据库的设计。
4.1 题库主表
该表存储的是题目的主表信息,经过分析,我们可以知道,一道选择题只有一个题目内容(题目描述),一个答案,而会有多个的备选答案,所以我们有必要把题目内容的存储和备选答案分开来存储。表的结构如下:
字段名 字段类型 备注
ID 自动编号 主关键字
题目编号 字符 题目的唯一编号
题目内容 字符
题目套号 数字 套的ID
题目类型 是/否 是=多选题 否=单选题
题目答案 字符
题目分值 数字
题目备注 字符
4.2 题目明细
存储题目的备选答案,正好是前面题库主表的从表。表的结构如下:
字段名称 字段类型 备注
ID 自动编号 主关键字
题目编号 字符
题目编码 字符 A,B,C,D等等
备选答案 字符 备选答案的内容
题目备注 字符
4.3 套号
存储套号的信息,自动抽取的时候,就是从这个表里的ID来随机抽取的,而题目主表里的套号也是来自该表的ID,表结构如下: 【买计算机毕业论文就到www.think58.com】 copyright think58 [来源:http://think58.com]
字段名称 字段类型 备注
ID 自动编号 主关键字
套号名称 字符 唯一索引
4.4 题库设置
在前面的功能设计中,我们知道本系统有两种抽题的模式,而系统采取的模式就是存在这张表中的。表结构如下:
字段名称 字段类型 备注
ID 自动编号 主关键字
考试套号 数字 当前的套号,如果是0,表示,使用随机的抽取,如果是其他的表示的是当前的套号
4.5 考生
每次考生登陆的时候,系统是会记录考生的信息,考生的考试套号的。而且还要验证该考生是否已经交卷了,都是从该表里读取数据的。该表结构如下:
字段名称 字段类型 备注
ID 自动编号 主关键字
准考证号 字符 唯一索引
考生姓名 字符
考试套号 数字
考生状态 字符 未交卷、已交卷
内容来自think58
[资料来源:THINK58.com]
[来源:http://think58.com]4.6 考生答案
为了能够了解考生的具体答题信息,并且在考生意外退出后能够重新加载考生的信息,我们需要记录该考生的答案。表结构如下:
字段名称 字段类型 备注
ID 自动编号 主关键字
准考证号 字符
题目编号 字符
考生答案 字符
4.7题库主表
在设计数据库的时候,我们考虑到系统的可扩展性和数据减少数据库容量的考虑,经常是采取分开几张表存储的方式,比如说前面的题库主表和备选答案的处理就是经常采取的方式。所以我们要想得到所有的信息,或者说是具体的信息,我们往往要借助视图了,题库主表就是采取视图的方式显示,该视图的SQL 语句如下:
SELECT 题库主表.ID, 题库主表.题目编号, 题库主表.题目内容, 题库主表.题目套号, IIf([题目类型]=False,"单选题","多选题") AS 类型, 题库主表.题目答案, 题库主表.题目分值, 题库主表.题目备注 FROM 题库主表;
4.8 评分表
该表是用来显示学生的答题正确于否,以及做的试题是什么,还包括考生的自身信息,可以说是一张非常重要的视图了,该视图的SQL语句如下:
SELECT 题库主表.*, 考生答案.考生答案, 考生答案.准考证号, IIf([考生答案]=[题目答案],"正确","错误") AS 是否正确, IIf([考生答案]=[题目答案],[题目分值],0) AS 得分FROM 题库主表 INNER JOIN 考生答案 ON 题库主表.题目编号 = 考生答案.题目编号;
第五章 系统实现
在经过了前面的功能设计之后,我们进入到了我们的系统实现部分,也就是真正的代码实现阶段了。在经过了前面的铺垫工作以后,这里实现起来思路就相对来说非常的清晰了。下面来分几个重要的模块来说一下设计思路和实现方法,对于一些很显示的我就不在说明了
5.1 ADO技术
在本系统中我们用到了数据库的技术,在VB中,有很多的方法,可以访问数据库,比如比较原始比较底层 的 ODBC,专门为Access数据库设计的DAO,还有专门为了远程设计的RDO。但是现在微软的推崇的数据访问技术是ADO技术
ADO(ActiveX Data Objects)Active数据对象。ADO设计为一种极为简单的格式,通过ODBC的方法同数据库接口。可以用任何一种ODBC数据源,如:SQL Server、Oracle、Access、Excel、文本文件、图形文件和无格式的数据文件。而且ADO访问数据库的代码非常的简单,而且很容易让人理解。最重要的是他能够访问不同的数据库。如果代码写的质量高的话,完全可以使用同一种代码访问不同的数据库。
5.2 VB中的错误处理
系统运行难免有错误,比如说系统的可使用内容不够了,即使我们的代码没有错误,也将不能运行,但是如果不能运行就非法退出的话,我想对于客户是不能接受的,至少也该来个系统内存不足的提示,给客户一些好的建议,我想客户肯定会非常满意的。不知不觉就会提高你产品的形象,必定顾客是上帝,我们不可能一点都不顾客户的感受。所以我们有必要在可能发生错误的地方加上我们错误处理代码,来捕获这种错误了。 think58好,好think58
VB的错误代码处理非常的简单,简单的来说,就是遇见错误,忽略。另外一种是遇到错误跳出执行。我们来看看典型的两种方式呀
think58好,好think58
[来源:http://think58.com]