摘 要:在C++Builder环境下,通过一个实例详细介绍了基于CppWebBrowser和Access2003设计开发考试系统的方法,包括系统数据结构的设计、HTML试卷的生成与评判、HTML页面自动填充等相关问题,为基于数据库开发考试系统提供了一个详实的实例参考。
关键词: CppWebBrowser;Access2003;HTML试卷;考试系统
1 引言
前段时间,作者单位组织专业技术理论考试,要求开发一款单机版考试系统,并要求操作简单,安装方便,可以支持多个专业同时考试。起初,作者计划选用Visual Studio 2010 C#开发,但考虑到其无法脱离FrameWork支持环境,发布时安装复杂,故选用C++ Builder作为开发平台,数据库选用Access2003,以HTML网页形式生成试卷,开发出了一款绿色版“专业技术理论考试系统”。不算mdb数据库文件,系统本身小于2M,在GhostXP环境下无需安装即可正常运行。
2 框架设计
在系统编码之前,首先要进行了系统数据库、数据结构和系统流程设计。
2.1 数据库设计
“专业技术理论考试系统”采用Access2003作为后台数据库,数据库文件命名为DataBase.mdb,其中包含单位、专业、题型、题库4个数据表,用于存储相应信息。各表字段设计如下:
(1) 专业类型表(Zy)
专业类型表中主要存储题库中试题的专业划分,系统登录时,从专业下拉列表中选取考试专业,生成相应试卷。
字段名称 |
数据类型 |
说明 |
Zy_ID |
数字 |
专业ID |
Zy_Name |
文本 |
专业名称 |
(2) 单位表(Dw)
单位表中主要存储参考单位列表,系统登录时,从单位下拉列表中选取所在单位登录。
字段名称 |
数据类型 |
说明 |
Dw_ID |
数字 |
单位ID |
Dw_Name |
文本 |
单位名称 |
(3) 题型表(Tx)
题型表中存储题库中试题类型,系统支持单选题、多选题、判断题、填空题、简答题等类型。
字段名称 |
数据类型 |
说明 |
Tx_ID |
数字 |
题型ID |
Tx_Name |
文本 |
题型名称 |
(4) 专业题库表(Tk)
题库表中按照专业类型、试题类型存储所有的试题。
字段名称 |
数据类型 |
说明 |
Tk_ID |
自动编号 |
试题ID |
Zy_ID |
数字 |
专业ID |
Tx_ID |
数字 |
题型ID |
Tg |
备注 |
题干部分 |
Da |
文本 |
答案部分 |
Xx1 |
文本 |
选项1 |
Xx2 |
文本 |
选项2 |
Xx3 |
文本 |
选项3 |
Xx4 |
文本 |
选项4 |
Xx5 |
文本 |
选项5 |
Xx6 |
文本 |
选项6 |
Xx7 |
文本 |
选项7 |
Xx8 |
文本 |
选项8 |
(5) 数据表关系图
在设计数据库表时,设定"ZY"、"TX"与"TK"表之间按Zy_ID和Tx_ID设定对应关系,表之间的关系如下图所示:
|