


[摘 要] Visual Basic作為一種非常簡(jiǎn)單實(shí)用的可視化編程語言非常適合高職高專學(xué)生學(xué)習(xí)。本文利用Visual Basic 6.0、ADO和Access 2003開發(fā)了一個(gè)圖書管理系統(tǒng),在高職高專計(jì)算機(jī)專業(yè)Visual Basic程序設(shè)計(jì)課程的教學(xué)中取得了良好的教學(xué)效果。
[關(guān)鍵詞] Visual Basic 6.0;Access 2003;ADO;圖書管理系統(tǒng);設(shè)計(jì)
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2013 . 15. 032
[中圖分類號(hào)] TP315 [文獻(xiàn)標(biāo)識(shí)碼] A [文章編號(hào)] 1673 - 0194(2013)15- 0049- 03
Visual Basic(簡(jiǎn)稱VB)是微軟公司于1991年推出的可視化編程語言。ADO(ActiveX Data Objects,ActiveX數(shù)據(jù)對(duì)象)是目前應(yīng)用范圍最廣的數(shù)據(jù)訪問接口,在VB中可以非常方便地使用ADO技術(shù)訪問各種類型的數(shù)據(jù)庫(kù)。Access是常用的桌面數(shù)據(jù)庫(kù)系統(tǒng),VB+Access被人們稱作創(chuàng)建桌面數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的“黃金搭檔”[1]。本文采用VB 6.0+ADO +Access 2003設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)圖書管理系統(tǒng),系統(tǒng)難易程度適中,非常適合高職高專計(jì)算機(jī)專業(yè)學(xué)生Visual Basic程序設(shè)計(jì)課的教學(xué),在筆者的實(shí)際教學(xué)中取得了良好的教學(xué)效果。
1 系統(tǒng)設(shè)計(jì)
系統(tǒng)主要包括以下模塊:“系統(tǒng)登錄”模塊、“讀者管理”模塊、“圖書管理”模塊、“圖書借閱管理”模塊、“讀者天地”模塊等。系統(tǒng)功能模塊如圖1所示。
2 數(shù)據(jù)庫(kù)設(shè)計(jì)
本系統(tǒng)采用的數(shù)據(jù)庫(kù)是Office 2003中的Access 2003數(shù)據(jù)庫(kù)。新建“圖書信息數(shù)據(jù)庫(kù).mdb”數(shù)據(jù)庫(kù),其中包括4張表:“管理員表”,用來記錄系統(tǒng)管理員的用戶名和密碼;“普通用戶表”,用來記錄普通讀者的相關(guān)信息;“圖書借閱信息表”,記錄圖書借閱的相關(guān)信息;“圖書信息表”,記錄圖書的相關(guān)信息。在VB中提供了利用ADO訪問數(shù)據(jù)庫(kù)的兩種主要形式:ADO數(shù)據(jù)控件(ADODC)和ADO對(duì)象編程模型(ADO代碼)。本系統(tǒng)中連接數(shù)據(jù)庫(kù)時(shí)使用的均是ADO數(shù)據(jù)控件的方式。
3 系統(tǒng)各功能模塊的設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)運(yùn)行的第一個(gè)界面即主界面如圖2所示。初始運(yùn)行時(shí),除“系統(tǒng)登錄”、“系統(tǒng)使用說明”、“退出系統(tǒng)”外,其他模塊都是禁用的。用戶可以查看“系統(tǒng)使用說明”來使用該系統(tǒng)。
3.1 “系統(tǒng)登錄”模塊
“系統(tǒng)登錄”是用戶進(jìn)入到程序系統(tǒng)的門戶,只有通過登錄模塊,才能對(duì)登錄用戶進(jìn)行身份驗(yàn)證[2],只有系統(tǒng)的合法用戶才可以使用系統(tǒng)的幾大功能模塊。本系統(tǒng)中有管理員和普通讀者兩種合法用戶。管理員登錄系統(tǒng)時(shí),系統(tǒng)會(huì)將輸入的用戶名和密碼與數(shù)據(jù)庫(kù)中“管理員表”中的記錄進(jìn)行匹配,如果符合則系統(tǒng)主界面中禁用的幾個(gè)模塊都變?yōu)榭捎茫駝t報(bào)錯(cuò)。普通讀者用戶登錄與管理員登錄類似。核心代碼如下:
…
sql = \"SELECT*FROM 管理員表 where 用戶名='\" Text1.Text \"'and 密碼='\" Text2.Text \" '\"
Adodc1.RecordSource = sql ‘以SQL查詢作為ADODC的記錄源
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
frmmain.jie.Enabled = True ‘系統(tǒng)各功能模塊可用
…
3.2 “讀者管理”與“圖書管理”模塊
在“圖書管理”模塊中管理員可以對(duì)圖書進(jìn)行新增入庫(kù)、圖書信息修改、刪除、查詢等一系列操作。在實(shí)現(xiàn)上述功能時(shí)分別使用ADODC控件的Recordset對(duì)象的AddNew方法、Update方法、Delete方法。在“讀者管理”模塊中,管理員可以對(duì)讀者信息進(jìn)行增加、修改、刪除等操作。在實(shí)現(xiàn)上述功能時(shí)也是使用ADODC控件的Recordset對(duì)象的AddNew方法、Update方法、Delete方法。
(1)圖書新增入庫(kù)/讀者信息增加的核心代碼如下:
…
Adodc1.Recordset.AddNew ‘使用ADODC控件的Recordset對(duì)象的AddNew方法增加一條空記錄
Adodc1.Recordset!借書證號(hào) = Trim¥(Combo1.Text) ‘注冊(cè)讀者信息的“借書證號(hào)”字段,其他字段與之類似
…
Adodc1.Recordset.Update ‘調(diào)用Update方法更新
(2)刪除圖書信息/刪除讀者信息的核心代碼如下:
If MsgBox(\"確定要?jiǎng)h除該記錄嗎?\", vbOKCancel, \"刪除記錄\") = vbOK Then ‘彈出詢問是否刪除的對(duì)話框
Adodc1.Recordset.delete ‘調(diào)用delete方法刪除
…
(3)查詢圖書信息的核心代碼如下[3]:
…
sql1 = sql1 \" AND \" sqlA(i) '用 AND 運(yùn)算符加入多個(gè)查詢條件。
sql = \"SELECT* FROM 圖書信息表 WHERE \" sql1 \" \"
Adodc1.RecordSource = sql '刷新Adodc1,以SQL查詢作為ADODC的記錄源
…
Set DataGrid1.DataSource = Adodc1 '重新綁定數(shù)據(jù)網(wǎng)格控件
3.3 “圖書借閱管理”模塊
“圖書借閱管理”模塊是本系統(tǒng)的核心模塊,完成圖書借閱和借出圖書的歸還兩項(xiàng)功能。在“圖書借閱模塊”中,管理員通過圖3中上方的查詢界面查詢到讀者想要借閱的圖書,在下方輸入借書證號(hào),選擇要借閱的圖書,點(diǎn)擊“借閱”按鈕實(shí)現(xiàn)圖書借閱。借閱圖書時(shí),系統(tǒng)會(huì)向“圖書借閱信息表”中添加一條借閱記錄,同時(shí)該書所在的“圖書信息表”中的“圖書數(shù)量”值會(huì)減1,核心代碼如下:
…
sql = \"select*from 圖書信息表 where 書名='\" DataGrid1.Columns(\"書名\").Text \" '\"
Adodc1.RecordSource = sql
Adodc1.Refresh
If Adodc1.Recordset(\"圖書數(shù)量\") >= 1 Then
Adodc1.Recordset!圖書數(shù)量 = Adodc1.Recordset!圖書數(shù)量 -1
…
在“還書管理”中,輸入借書證號(hào),點(diǎn)擊“確定”按鈕可以查詢到該借書證所借的所有圖書記錄,選擇要?dú)w還的圖書,點(diǎn)擊“還書”按鈕,實(shí)現(xiàn)還書。實(shí)現(xiàn)還書時(shí)系統(tǒng)會(huì)將“圖書借閱信息表”中的該條借閱記錄刪除,同時(shí),該書對(duì)應(yīng)的“圖書信息表”中的“圖書數(shù)量”值增加1。界面圖及核心代碼略。
3.4 “讀者天地”模塊
普通讀者登錄后可以使用系統(tǒng)的“讀者天地”模塊。在該模塊中實(shí)現(xiàn)“圖書信息查詢” 、“讀者信息修改”和“讀者續(xù)借圖書”3項(xiàng)功能。“讀者續(xù)借圖書”可以讓讀者對(duì)所借圖書續(xù)借指定天數(shù),輸入借書證號(hào),點(diǎn)擊“確定”按鈕可以查詢?cè)摻钑C所借圖書目錄,在列出的目錄中選擇要續(xù)借的圖書,點(diǎn)擊“續(xù)借”按鈕實(shí)現(xiàn)續(xù)借。續(xù)借后,在“圖書借閱信息表”中該條借閱記錄的還書日期會(huì)增加指定天數(shù)。界面圖及核心代碼略。
4 結(jié) 語
對(duì)于高職高專學(xué)生來說,大型圖書管理系統(tǒng)代碼復(fù)雜,難以理解。本文利用Visual Basic 6.0+ADO+Access 2003設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)簡(jiǎn)易圖書管理系統(tǒng),主要用于高職高專計(jì)算機(jī)專業(yè)Visual Basic程序設(shè)計(jì)的教學(xué)案例。通過此系統(tǒng)的學(xué)習(xí),學(xué)生可以掌握簡(jiǎn)單管理信息系統(tǒng)的開發(fā)流程,后續(xù)工作可以擴(kuò)展此系統(tǒng)的功能,如進(jìn)一步完善界面設(shè)計(jì)、在連接數(shù)據(jù)庫(kù)時(shí)采用ADO對(duì)象模型編程,實(shí)現(xiàn)更復(fù)雜的功能。
主要參考文獻(xiàn)
[1]鄭有增,孫洪峰. Visual Basic 6.0程序設(shè)計(jì)與實(shí)訓(xùn)教程[M].北京:中國(guó)水利水電出版社,2008.
[2]高春艷,安劍,鞏建華. 學(xué)通Visual Basic的24堂課[M].北京:清華大學(xué)出版社,2011.
[3]楊小影. Visual Basic程序設(shè)計(jì)基礎(chǔ)[M].北京:中國(guó)水利水電出版社,2006.