摘 要:在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設定對應關系,表之間的關系如下圖所示:

|