




已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本科畢業(yè)設(shè)計(jì)說明書(論文) 第 頁(yè) 共 頁(yè)圖書借閱管理系統(tǒng)應(yīng)用畢業(yè)論文目 錄1 引言11.1 圖書借閱管理系統(tǒng)簡(jiǎn)介11.2 關(guān)于圖書借閱管理系統(tǒng)的幾個(gè)誤區(qū)21.3 系統(tǒng)開發(fā)所用的技術(shù)準(zhǔn)備22 圖書借閱管理系統(tǒng)分析102.1 系統(tǒng)初步調(diào)查102.2 系統(tǒng)可行性分析102.3 系統(tǒng)需求113 系統(tǒng)設(shè)計(jì)153.1 數(shù)據(jù)庫(kù)的創(chuàng)建153.2 創(chuàng)建表163.3 設(shè)定表關(guān)系193.4 創(chuàng)建數(shù)據(jù)源214 圖書借閱系統(tǒng)的實(shí)現(xiàn)244.1 創(chuàng)建工程項(xiàng)目244.2 添加模塊244.3 添加類模塊254.4 界面設(shè)計(jì)及其代碼分析294.5 實(shí)例演示52總 結(jié)55致 謝56參 考 文 獻(xiàn)57本科畢業(yè)設(shè)計(jì)說明書(論文) 第 56 頁(yè) 共56頁(yè)1 引言1.1 圖書借閱管理系統(tǒng)簡(jiǎn)介1.1.1 圖書借閱管理系統(tǒng)的發(fā)展歷史圖書借閱管理系統(tǒng)的發(fā)展歷史可以追溯到20世紀(jì)60年代末期。由于當(dāng)時(shí)計(jì)算機(jī)技術(shù)已經(jīng)進(jìn)入實(shí)用階段,同時(shí)大型圖書館用手工來查找圖書信息或統(tǒng)計(jì)借閱信息既費(fèi)時(shí)費(fèi)力又非常容易出差錯(cuò),為了解決這個(gè)矛盾,第一代的圖書借閱管理系統(tǒng)應(yīng)運(yùn)而生。當(dāng)時(shí)由于技術(shù)條件和需求的限制,用戶非常少,它的出現(xiàn)為圖書借閱的管理展示了美好的前景,即用計(jì)算機(jī)的高速度和自動(dòng)化來代替手工的巨大工作量,用計(jì)算機(jī)的高準(zhǔn)確性來避免手工的錯(cuò)誤和誤差。第二代的圖書借閱管理系統(tǒng)出現(xiàn)于20世紀(jì)70年代末。由于計(jì)算機(jī)技術(shù)的飛速發(fā)展,無論是計(jì)算機(jī)的普及性,還是計(jì)算機(jī)系統(tǒng)工具和數(shù)據(jù)庫(kù)技術(shù)的發(fā)展,都為圖書借閱管理系統(tǒng)的階段發(fā)展提供了可能。但未能系統(tǒng)地考慮圖書借閱的需求和理念。圖書借閱管理系統(tǒng)的革命性變革出現(xiàn)在20世紀(jì)90年代末。隨著信息爆炸、知識(shí)經(jīng)濟(jì)時(shí)代的到來,使個(gè)人、單位、社會(huì)對(duì)圖書借閱管理系統(tǒng)有了更高的需求;同時(shí)由于個(gè)人電腦的普及,數(shù)據(jù)庫(kù)技術(shù)、客戶/服務(wù)器技術(shù),特別是Internet/Intranet技術(shù)的發(fā)展,使得第三代圖書借閱管理系統(tǒng)的出現(xiàn)成為必然。第三代圖書借閱管理系統(tǒng)的特點(diǎn)是從圖書借閱管理的角度出發(fā),用集中的數(shù)據(jù)庫(kù)處理幾乎所有與圖書借閱相關(guān)的數(shù)據(jù)。1.1.2 圖書借閱管理相關(guān)軟件簡(jiǎn)介近幾年來,國(guó)內(nèi)外與圖書借閱管理有關(guān)的系統(tǒng)和程序的發(fā)展都非常迅速,眾多的軟件有如雨后春筍般地不斷涌現(xiàn)。這些軟件盡管各有特點(diǎn),但從功能上來分析,大致可分為如下兩種:基于web的Internet/Intranet模式的圖書管理程序,如各個(gè)國(guó)家的國(guó)家級(jí)的圖書館,大部分都建成了這種類型的圖書管理系統(tǒng),供公眾使用。單位內(nèi)部的圖書管理系統(tǒng),可以采用基于web的程序,也可采用單機(jī)程序。1.2 關(guān)于圖書借閱管理系統(tǒng)的幾個(gè)誤區(qū)1.2.1 缺乏長(zhǎng)遠(yuǎn)的戰(zhàn)略眼光有些單位領(lǐng)導(dǎo)人在圖書借閱管理中缺乏長(zhǎng)遠(yuǎn)的戰(zhàn)略眼光,認(rèn)識(shí)不到采用和實(shí)施圖書借閱管理系統(tǒng)的重要性。他們或者只顧眼前利益,認(rèn)為圖書借閱管理系統(tǒng)是一種“錦上添花”的項(xiàng)目,沒有緊迫感;或者對(duì)圖書借閱管理系統(tǒng)缺乏認(rèn)識(shí),自以為自己也已采用了圖書借閱管理系統(tǒng),但有許多功能不能滿足應(yīng)用需要;還有些單位在選取圖書借閱管理系統(tǒng)時(shí),只考慮滿足當(dāng)時(shí)的需求,而且考慮人格因素多于系統(tǒng)功能,這樣選取的系統(tǒng)會(huì)后患無窮,不僅現(xiàn)在缺乏指導(dǎo)價(jià)值,將來隨著單位發(fā)展和管理水平的提高,也會(huì)阻礙企業(yè)的進(jìn)步。1.2.2 圖書借閱管理系統(tǒng)是一個(gè)拿來即用的軟件由于缺乏對(duì)系統(tǒng)實(shí)施工作的重要性和艱巨性的認(rèn)識(shí),將圖書借閱管理系統(tǒng)混同于一個(gè)普通的軟件,沒有統(tǒng)一的規(guī)劃和項(xiàng)目組織,邊用邊開發(fā),使系統(tǒng)的實(shí)施處于一種混亂的狀態(tài),會(huì)造成數(shù)據(jù)的重復(fù),不相容和不全面,對(duì)整個(gè)圖書管理產(chǎn)生不利的影響。1.2.3 不顧實(shí)力自己開發(fā)圖書借閱管理系統(tǒng)將現(xiàn)代圖書借閱管理的理念和計(jì)算機(jī)技術(shù)有效地集合起來,從長(zhǎng)遠(yuǎn)、系統(tǒng)和發(fā)展的眼光進(jìn)行全面的系統(tǒng)分析和設(shè)計(jì)并不是一件輕而易舉的事情。而且用于維護(hù)、文檔編寫、調(diào)試和排錯(cuò)等所花費(fèi)的人力物力財(cái)力也遠(yuǎn)遠(yuǎn)超過購(gòu)買商品化軟件所需的成本。1.3 系統(tǒng)開發(fā)所用的技術(shù)準(zhǔn)備1.3.1 系統(tǒng)運(yùn)行環(huán)境操作系統(tǒng),采用的是當(dāng)前流行的主流操作系統(tǒng)微軟公司的Windows xp。1.3.2 開發(fā)工具在確定了操作系統(tǒng)后,就該選擇開發(fā)工具了。經(jīng)過了綜合的比較而且最重要的是本人在學(xué)校期間學(xué)習(xí)的就是Visual Basic。這個(gè)是個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng),系統(tǒng),所以我們必須得選一個(gè)合適的數(shù)據(jù)庫(kù)??紤]到我這個(gè)系統(tǒng)針對(duì)的用戶,已經(jīng)價(jià)格方面的考慮,完全可以使用Access來進(jìn)行開發(fā),而且我在使用Visual Basic的時(shí)候,操作數(shù)據(jù)庫(kù)方面使用的是微軟提供的數(shù)據(jù)訪問接口,先我們來了介紹一下Visual Basic以及微軟提供了哪些數(shù)據(jù)庫(kù)訪問方法,并且各自都有什么特點(diǎn)。1.Visual Basic的簡(jiǎn)介首先,我們還從Visual Basic這個(gè)名字開始,來認(rèn)識(shí)這個(gè)軟件。所謂“Visual”指的是開發(fā)圖形用戶界面(GUI)的方法。它不需編寫大量的代碼去描述界面元素的外觀和位置,而只要把預(yù)先建立的對(duì)象添加到屏幕上的某一位置即可。如果已使用過諸如 Paint 之類的繪圖程序,則實(shí)際上已掌握了創(chuàng)建用戶界面的必要技巧。“Basic”指的是 BASIC (Beginners All.Purpose Symbolist Instruction Code) 語(yǔ)言,一種在計(jì)算技術(shù)發(fā)展歷史上應(yīng)用得最為廣泛的編程語(yǔ)言。Visual Basic 在原有 BASIC 語(yǔ)言的基礎(chǔ)上進(jìn)一步發(fā)展,至今包含了數(shù)百條語(yǔ)句、函數(shù)及關(guān)鍵詞,其中很多和 Windows GUI 有直接關(guān)系。專業(yè)人員可以用 Visual Basic 實(shí)現(xiàn)其它任何 Windows 編程語(yǔ)言的功能,而初學(xué)者只要掌握幾個(gè)關(guān)鍵詞就可以建立實(shí)用的應(yīng)用程序。Visual Basic 不僅是 Visual Basic 編程語(yǔ)言。Visual Basic 編程系統(tǒng)和 VBA 都使用這一語(yǔ)言。Visual Basic Scripting Edition (VBScript) 是廣泛使用的腳本語(yǔ)言,它是 Visual Basic 語(yǔ)言的子集。這樣,在學(xué)習(xí) Visual Basic 中得到的經(jīng)驗(yàn)可應(yīng)用到所有這些領(lǐng)域中。接著,我們?cè)購(gòu)腣isual Basic的發(fā)展歷史來進(jìn)一步地認(rèn)識(shí)一下它。Visual Basic的最初版本是Visual Basic1.0,那時(shí)的Visual Basic只是簡(jiǎn)單地以對(duì)象的屬性為中心來進(jìn)行編程。到了Visual Basic2.0時(shí),開始正式地采用面向?qū)ο蠹夹g(shù),其有一個(gè)重要的新特性就是可擁有對(duì)象變量,并把Variant型變量作為缺省數(shù)據(jù)類型變量。沒過多久Visual Basic的下兩個(gè)版本Visual Basic3.0和Visual Basic4.0接踵而至,一種內(nèi)建的新的控件類型數(shù)據(jù)控件,能夠使創(chuàng)建一個(gè)與數(shù)據(jù)庫(kù)交互作用的應(yīng)用程序變得令人驚訝的容易。在微軟的其它應(yīng)用程序,如WORD字處理軟件、EXCEL電子報(bào)表軟件、ACCESS數(shù)據(jù)庫(kù)軟件中都做了改變,使得它們可以與Visual Basic一致工作。這種新技術(shù)被稱作為Visual Basic For Applications,它幫助實(shí)現(xiàn)了Visual Basic的最初設(shè)想。理論上,人們總是能夠通過某種叫做動(dòng)態(tài)數(shù)據(jù)交換(DDE)的技術(shù)使視窗系統(tǒng)應(yīng)用程序彼此交互。但那樣既慢而且又麻煩。Visual Basic的完美之處在于它能使程序員獲得一塊數(shù)據(jù)如報(bào)表,并將它看作是Visual Basic的對(duì)象。其目的就是要使視窗系統(tǒng)下的每一件事情都支持同樣的易于使用的高級(jí)語(yǔ)言。Visual Basic5.0出現(xiàn)以后,在某些方面有了重大的突破。它給予了程序員長(zhǎng)期期待的不用離開Visual Basic環(huán)境,就可以創(chuàng)建新的定制控件類型和創(chuàng)建其它項(xiàng)目類型的能力。除了一般應(yīng)用程序外,程序員還能創(chuàng)建文檔、DLLs、OLE服務(wù)器和ActiveX控件。當(dāng)Visual Basic逐漸復(fù)雜時(shí),世界已經(jīng)在圍著它轉(zhuǎn)了。項(xiàng)目類型的增加不是用來迷惑程序員,而是提供靈活性的。視窗系統(tǒng)已經(jīng)成為一個(gè)特別豐富的環(huán)境,可使應(yīng)用程序彼此交流和共享數(shù)據(jù)。我們現(xiàn)在所使用的Visual Basic6.0被看著是Visual Basic的網(wǎng)絡(luò)版本??梢钥闯鏊度肓讼喈?dāng)一部分的精力去支持微軟日益在Internet和分布式(網(wǎng)絡(luò))計(jì)算方面的重視程度。雖然它沒有象Visual Basic5.0所引起的那樣激動(dòng)人心,但它還是在某些方面做了一些有用的改進(jìn)。其最重要的一個(gè)改進(jìn)就是增加了ADO數(shù)據(jù)控件,它可以縮小本地和遠(yuǎn)程數(shù)據(jù)控件之間的差別。換句話說,程序員在很大程度上可以與數(shù)據(jù)庫(kù)交互作用,而不用擔(dān)心網(wǎng)絡(luò)上由誰(shuí)來提供服務(wù)。最后,我們?cè)購(gòu)臄?shù)據(jù)庫(kù)編程方面來了解一下Visual Basic6.0。(1)Visual Basic 數(shù)據(jù)庫(kù)的構(gòu)成Visual Basic 數(shù)據(jù)庫(kù)都是由用戶界面、數(shù)據(jù)庫(kù)引擎以及數(shù)據(jù)倉(cāng)庫(kù)三大部分構(gòu)成。用戶界面 包括用于與用戶交互的所有界面和代碼,如用戶完成查看、更新數(shù)據(jù)的窗體,以及增刪記錄或執(zhí)行查詢的代碼。即是用于請(qǐng)求數(shù)據(jù)庫(kù)服務(wù)的數(shù)據(jù)訪問對(duì)象和方法,而不是對(duì)數(shù)據(jù)庫(kù)的實(shí)際操作。數(shù)據(jù)庫(kù)引擎 是一組動(dòng)態(tài)鏈接庫(kù)(DLL),用于結(jié)束應(yīng)用程序的請(qǐng)求并形成對(duì)數(shù)據(jù)倉(cāng)庫(kù)的實(shí)際物理操作;管理對(duì)數(shù)據(jù)庫(kù)的物理操作;維護(hù)數(shù)據(jù)庫(kù)的完整和安全;處理結(jié)構(gòu)化查詢語(yǔ)言(SQL)的查詢,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的檢索、增刪、更改;管理查詢返回的結(jié)果。數(shù)據(jù)倉(cāng)庫(kù) 用于存放數(shù)據(jù),由若干個(gè)數(shù)據(jù)表文件組成。數(shù)據(jù)倉(cāng)庫(kù)僅僅只包含數(shù)據(jù),并不對(duì)數(shù)據(jù)進(jìn)行任何處理,對(duì)數(shù)據(jù)進(jìn)行操作均由數(shù)據(jù)引擎完成。由此可以看出,數(shù)據(jù)庫(kù)引擎是應(yīng)用程序與實(shí)際的物理數(shù)據(jù)庫(kù)之間的橋梁,應(yīng)用程序都是通過數(shù)據(jù)庫(kù)引擎來實(shí)現(xiàn)對(duì)物理數(shù)據(jù)庫(kù)中數(shù)據(jù)的存取等操作。用戶只需要了解所面對(duì)的數(shù)據(jù)庫(kù)接口,而不必關(guān)心所訪問的數(shù)據(jù)庫(kù)本身的物理特性。(2)Visual Basic 能夠訪問的數(shù)據(jù)庫(kù)類型Visual Basic 能夠通過數(shù)據(jù)庫(kù)引擎訪問內(nèi)部數(shù)據(jù)庫(kù)、外部數(shù)據(jù)庫(kù)、ODBC數(shù)據(jù)庫(kù)這三種類型的數(shù)據(jù)庫(kù)。內(nèi)部數(shù)據(jù)庫(kù): 內(nèi)部數(shù)據(jù)庫(kù)又稱本地?cái)?shù)據(jù)庫(kù),使用Microsoft Access數(shù)據(jù)格式,由Microsoft Jet引擎直接創(chuàng)建操作,可以提供最大的靈活性和訪問速度。外部數(shù)據(jù)庫(kù):Visual Basic中能夠創(chuàng)建操作所有的ISAM(索引順序訪問方法),如FoxPro、dBASE、Microsoft Excel、Paradox以及順序文本文件等。ODBC數(shù)據(jù)庫(kù): Visual Basic 可以訪問標(biāo)準(zhǔn)的客戶/服務(wù)器數(shù)據(jù)庫(kù),例如Microsoft SQL Server??梢允褂肙DBC Direct 直接將命令傳遞給服務(wù)器,從而創(chuàng)建客戶/服務(wù)器應(yīng)用程序。(3)Visual Basic 訪問數(shù)據(jù)庫(kù)的方案用Visual Basic 訪問數(shù)據(jù)庫(kù)有許多可供選擇的方案,用戶應(yīng)該根據(jù)自己現(xiàn)在及將來的需要決定采用何種數(shù)據(jù)庫(kù)方案。大多數(shù)應(yīng)用程序是用來訪問以下這些數(shù)據(jù)的:ASCII文本文件、SQL數(shù)據(jù)庫(kù)以及大型數(shù)據(jù)庫(kù)。早期的Visual Basic數(shù)據(jù)訪問工具只是簡(jiǎn)單的ASCII文件的訪問工具,極少數(shù)SQL Server的前端應(yīng)用程序是使用鮮為人知的數(shù)據(jù)庫(kù)VBSQL編寫的。早先在Visual Basic3.0盛行的時(shí)期許多程序需要訪問包含遠(yuǎn)程數(shù)據(jù)源的ISAM數(shù)據(jù),為此Microsoft 設(shè)計(jì)了Microsoft Jet Database Engine(Jet數(shù)據(jù)庫(kù)引擎)和Data Access Objects(DAO), 使得Visual Basic的開發(fā)人員很容易地實(shí)現(xiàn)與Microsoft Jet接口。而后針對(duì)用戶的需求Visual Basic中逐漸包含了更快的訪問遠(yuǎn)程數(shù)據(jù)和對(duì)ODBC數(shù)據(jù)源訪問的優(yōu)化。經(jīng)過數(shù)年,ODBC技術(shù)已成為訪問遠(yuǎn)程數(shù)據(jù)的主要方法,而Microsoft Jet 和ISAM數(shù)據(jù)接口的首選方案。Visual Basic訪問數(shù)據(jù)需要通過接口方法來實(shí)現(xiàn),數(shù)據(jù)訪問接口方法中一部分是簡(jiǎn)單的應(yīng)用程序接口界面,但大部分是組件對(duì)象模型界面(Component Object Model)。表1.1列出中的數(shù)據(jù)訪問接口方法:表1.1Visual Basic中的數(shù)據(jù)訪問接口方法接口界面訪問對(duì)象VB SQL通過DB.Library訪問Microsoft SQL ServerDAO/Jet本地的Jet/Access.mdb、順序索引數(shù)據(jù)庫(kù)(ISAM)和任何ODBC數(shù)據(jù)源DAO/ODBC Direct任何一種ODBC數(shù)據(jù)源RDO任何一種ODBC(32位)ADO任何一種ODBC數(shù)據(jù)源和任何經(jīng)過OLE DB界面接口的數(shù)據(jù)源Microsoft提出一種新的數(shù)據(jù)庫(kù)訪問策略,即“統(tǒng)一數(shù)據(jù)訪問”(Universal Data Access)的策略。“統(tǒng)一數(shù)據(jù)訪問”提供了高性能的存取包括關(guān)系型和非關(guān)系型在內(nèi)的多種數(shù)據(jù)源,提供獨(dú)立于開發(fā)工具和開發(fā)語(yǔ)言的簡(jiǎn)單的編程接口,這些技術(shù)使得企業(yè)集成多種數(shù)據(jù)源、選擇更好的開發(fā)工具、應(yīng)用軟件、操作平臺(tái)、建立容易維護(hù)的解決方案成為可能。實(shí)現(xiàn)“統(tǒng)一數(shù)據(jù)訪問”的基礎(chǔ)是Microsoft的數(shù)據(jù)訪問組件。這些組件包括ActiveX Data Objects(ADO)、Remote Data Service(RDS,又稱“高級(jí)數(shù)據(jù)連接器”ADC)、OLE DB和ODBC。表1.2列出數(shù)據(jù)訪問接口的類型:表1. 1 Visual Basic數(shù)據(jù)訪問接口的類型數(shù)據(jù)訪問接口功能ADC(Advanced Data Connector)高級(jí)數(shù)據(jù)連接器。ADC主要是一種直接訪問或者通過 ADO訪問遠(yuǎn)程OLE DB對(duì)象的一種技術(shù),它也支持主要應(yīng)用在IE瀏覽器上的數(shù)據(jù)綁定控件。ADC是專門為Web上瀏覽器為基礎(chǔ)的應(yīng)用程序而設(shè)計(jì)的。DAO(Data Access Objects)數(shù)據(jù)訪問對(duì)象。DAO是一種面向?qū)ο蟮慕缑娼涌凇Mㄟ^DAO/Jet功能可以訪問ISAM數(shù)據(jù)庫(kù),使用DAO/ODBC Direct功能可以實(shí)現(xiàn)遠(yuǎn)程訪問。DAO模型是設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)的對(duì)象類的集合。ADO(ActiveX Data Objects)Active數(shù)據(jù)對(duì)象。ADO設(shè)計(jì)為一種極為簡(jiǎn)單的格式,通過ODBC的方法同數(shù)據(jù)庫(kù)接口??梢杂萌魏我环NODBC數(shù)據(jù)源,如:SQL Server、Oracle、Access、Excel、文本文件、圖形文件和無格式的數(shù)據(jù)文件。Jet(Joint Engine Technology)數(shù)據(jù)連接引擎技術(shù)。是一種基于工作站通過DAO的數(shù)據(jù)庫(kù)訪問 機(jī)制。雖然可以通過Access提供的ODBC驅(qū)動(dòng)程序訪問Jet數(shù)據(jù)庫(kù),但使用這些驅(qū)動(dòng)程序在功能上有所限制ODBC(Open Database Connectivity)開放式數(shù)據(jù)庫(kù)連接。這是一種公認(rèn)的關(guān)系數(shù)據(jù)源的接口界面。ODBC的訪問速度快并且提供統(tǒng)一接口的界面。OLE DB這一種底層的數(shù)據(jù)訪問界面接口。是用于第三方驅(qū)動(dòng)程序商家開發(fā)輸出數(shù)據(jù)源到ADO技術(shù)的應(yīng)用程序或用于C+的開發(fā)者開發(fā)定制的數(shù)據(jù)庫(kù)組件。OLE DB不能被Visual Basic直接調(diào)用。RDC(Remote Data Control)遠(yuǎn)程數(shù)據(jù)訪問控件。是一種對(duì)RDO數(shù)據(jù)綁定的控件??梢暂敵鎏囟ǖ慕Y(jié)果集到數(shù)據(jù)源控件。RDO(Remote Data Objects)遠(yuǎn)程數(shù)據(jù)對(duì)象。遠(yuǎn)程數(shù)據(jù)對(duì)象和集合為使用代碼來創(chuàng)建和操作一個(gè)遠(yuǎn)程ODBC數(shù)據(jù)庫(kù)系統(tǒng)的各個(gè)部件提供了一個(gè)框架。RDO是ODBC API的一個(gè)淺層的界面接口,是專為訪問遠(yuǎn)程ODBC關(guān)系數(shù)據(jù)源而設(shè)計(jì)的。VBSQL是Visual Basic結(jié)構(gòu)化查詢語(yǔ)言。是一種基于API的接口方法,幾乎與C的DB.Library API相同。VBSQL只支持SQL Server。結(jié)構(gòu)簡(jiǎn)單而且速度快但不支持對(duì)象界面。此外,Visual Basic在數(shù)據(jù)開發(fā)方面提供了十分強(qiáng)大的功能。有自帶的數(shù)據(jù)管理器(Data Manager)、數(shù)據(jù)控件(Data Control)及數(shù)據(jù)訪問對(duì)象(DAO)等一系列功能強(qiáng)大的工具來協(xié)助管理人員輕松地進(jìn)行與數(shù)據(jù)庫(kù)的連接和管理。在這么多的訪問接口里面微軟對(duì)于ADO非常的推崇,并且下一代的數(shù)據(jù)訪問技術(shù)也將是采取這樣的思路,而且本身來說ADO模型簡(jiǎn)單,但是功能強(qiáng)大,使實(shí)現(xiàn)人員無須關(guān)心一些底層的操作,而把更多的精力放在業(yè)務(wù)邏輯的設(shè)計(jì)上面。2.Access簡(jiǎn)介數(shù)據(jù)庫(kù)選用Microsoft公司的Access產(chǎn)品作為數(shù)據(jù)庫(kù)應(yīng)用程序。目前的Access 2000是Microsoft強(qiáng)大的桌面數(shù)據(jù)庫(kù)平臺(tái)的第六代產(chǎn)品,是32位Access的第三個(gè)版本。Access有以下一些基本定義: 數(shù)據(jù)庫(kù)是一個(gè)包含各種Access“對(duì)象”(表、查詢、窗體、報(bào)表、宏和模塊)的文件,Access中所有工作都是建立在此基礎(chǔ)之上的。表是存放數(shù)據(jù)的容器,被設(shè)計(jì)成行和列的格式,就像電子表中的那樣。每一列叫做一個(gè)“字段”,包含特定類型的信息,如姓名或?qū)W歷。每一行稱為一個(gè)“記錄”,包含與單個(gè)實(shí)體有關(guān)的所有信息,如某個(gè)員工的姓名、性別、所在部門、學(xué)歷等。對(duì)于像Access這樣的關(guān)系數(shù)據(jù)庫(kù)管理程序,一個(gè)數(shù)據(jù)庫(kù)通常包含幾個(gè)存放相關(guān)數(shù)據(jù)的不同表。查詢是一個(gè)Access對(duì)象,它詢問數(shù)據(jù)庫(kù)中有關(guān)數(shù)據(jù)的問題。根據(jù)設(shè)計(jì)方法的不同,查詢能夠在數(shù)據(jù)庫(kù)中檢索并組合來自不同表的數(shù)據(jù)。例如,可以設(shè)計(jì)一個(gè)查詢來告知在公司中工作超過1年的職員有多少。查詢還可以對(duì)一組數(shù)據(jù)執(zhí)行操作,如更新或刪除某組記錄。窗體是一個(gè)窗口,它提供一種很方便的途徑來查看數(shù)據(jù)庫(kù)中已有記錄或向數(shù)據(jù)庫(kù)中增添新記錄。在Access中,可以創(chuàng)建一個(gè)窗體,用來同時(shí)查閱單個(gè)表或多個(gè)表中的數(shù)據(jù),還可以打印和顯示窗體。報(bào)表是一個(gè)Access對(duì)象,設(shè)計(jì)來顯示數(shù)據(jù),其作用類似于窗體,但主要是用于數(shù)據(jù)打印,不能輸入數(shù)據(jù)。頁(yè)是一種特殊類型的窗體,它使用戶能夠利用Web瀏覽器查看和編輯Access的表。宏用來保存Access中的一系列操作。可自動(dòng)執(zhí)行一些日常的任務(wù),以便簡(jiǎn)化在Access中的工作。模塊是用Visual Basic for Applications(VBA) 編寫的過程,VBA是Access的基礎(chǔ)程序設(shè)計(jì)語(yǔ)言。利用VBA可以編寫程序代碼來完成Access宏所不能完成的特定任務(wù)。綜上所述,我選擇了Visual Basic、ADO、Access來開發(fā)整個(gè)系統(tǒng)。1.3.3 系統(tǒng)開發(fā)方法的選擇建立一個(gè)信息系統(tǒng),是一項(xiàng)復(fù)雜的軟件工程的實(shí)施。近30年來,軟件工程發(fā)展成為新科學(xué),至今已經(jīng)成為軟件產(chǎn)業(yè)的重要支柱。多年來被人們沿用的手工作坊的軟件開發(fā)方法,在軟件產(chǎn)品的開發(fā)效率和產(chǎn)品質(zhì)量、成本等方面都無法滿足需求。20世紀(jì)60年代末期開始出現(xiàn)“軟件危機(jī)”后,人們開始尋找新技術(shù)來指導(dǎo)軟件的開發(fā)。1968年,首先提出了“軟件工程”這一名稱。80年代以來,國(guó)際社會(huì)的信息化浪潮一浪高過一浪,管理信息系統(tǒng)建設(shè)需求緊迫,已有的信息系統(tǒng)建設(shè)方法不能滿足日益增長(zhǎng)的系統(tǒng)建設(shè)的需要。70年代以來系統(tǒng)建設(shè)的主流方法結(jié)構(gòu)化生命周期法遇到一系列挑戰(zhàn),主要問題是手工操作多、工作效率低、開發(fā)周期長(zhǎng)、應(yīng)變能力弱,不能對(duì)用戶需求的變更和環(huán)境的變化做出迅速反應(yīng)。所以軟件工程思想經(jīng)過人們的歸納和整理,又提出了許多工程方法,如原型法、企業(yè)系統(tǒng)規(guī)劃法、戰(zhàn)略數(shù)據(jù)規(guī)劃法等。(1)結(jié)構(gòu)化生命周期法簡(jiǎn)介結(jié)構(gòu)化生命周期法是一種傳統(tǒng)的管理信息系統(tǒng)開發(fā)方法。其基本思路是把整個(gè)系統(tǒng)開發(fā)過程分成若干階段,每個(gè)階段進(jìn)行若干活動(dòng),每項(xiàng)活動(dòng)應(yīng)用一系列標(biāo)準(zhǔn)、規(guī)范、方法和技術(shù)完成一個(gè)或者多個(gè)任務(wù),形成符合給定規(guī)范的產(chǎn)品。結(jié)構(gòu)化生命周期法的主要原則,歸納起來有以下四條:用戶參與的原則先邏輯后物理的原則自頂向下的原則工作成果描述標(biāo)準(zhǔn)化的原則其開發(fā)大致分為以下四個(gè)階段:系統(tǒng)規(guī)劃:主要目標(biāo)是制訂系統(tǒng)的長(zhǎng)期發(fā)展方案,決定系統(tǒng)在整個(gè)生命周期內(nèi)的發(fā)展方向、規(guī)模和發(fā)展進(jìn)程。系統(tǒng)開發(fā)a、系統(tǒng)分析b、系統(tǒng)設(shè)計(jì)c、系統(tǒng)實(shí)現(xiàn)系統(tǒng)運(yùn)行及維護(hù)系統(tǒng)評(píng)價(jià)(2)原型法簡(jiǎn)介原型法的基本思路是用戶與系統(tǒng)分析、設(shè)計(jì)人員合作,根據(jù)用戶提出的最基本的問題和想法,先很快建立一個(gè)應(yīng)用軟件的骨架,作為應(yīng)用開發(fā)的實(shí)驗(yàn)?zāi)P?,這個(gè)實(shí)驗(yàn)?zāi)P徒凶鱿到y(tǒng)原型。用戶先運(yùn)行這個(gè)原型系統(tǒng),熟悉它,使用它,受到啟發(fā)并取得經(jīng)驗(yàn),然后對(duì)系統(tǒng)的目標(biāo)和功能提出精確、具體的要求,在對(duì)系統(tǒng)的需求最后決定后,再用傳統(tǒng)的方法建設(shè)系統(tǒng),通常原型系統(tǒng)的部分程序可以在后來的系統(tǒng)建設(shè)中直接采用。該方法是傳統(tǒng)方法和用戶開發(fā)相結(jié)合的方法。(3)本系統(tǒng)開發(fā)方法選擇基于上述兩種開發(fā)方法的優(yōu)劣,本系統(tǒng)利用軟件工程思想和方法,總體上是采用結(jié)構(gòu)化生命周期法從上而下地進(jìn)行系統(tǒng)分析和設(shè)計(jì)的,但系統(tǒng)實(shí)現(xiàn)等步驟采用了自下而上的快速原型法。2 圖書借閱管理系統(tǒng)分析2.1 系統(tǒng)初步調(diào)查一直以來人們使用傳統(tǒng)的人工方式管理圖書館的日常工作,對(duì)于圖書館的借書和還書過程,想必大家都已很熟悉。在計(jì)算機(jī)尚未在圖書館廣泛使用之前,借書和還書過程主要依靠手工。一個(gè)最典型的手工處理還書過程就是:讀者將要借的書和借閱證交給工作人員,工作人員將每本書上附帶的描述書的信息的卡片和讀者的借閱證放在一個(gè)小格欄里,并在借閱證和每本書貼的借閱條上填寫借閱信息。這樣借書過程就完成了。還書時(shí),讀者將要還的書交給工作人員,工作人員根據(jù)圖書信息找到相應(yīng)的書卡和借閱證,并填好相應(yīng)的還書信息,這樣還書過程就完成了。以上所描述的手工過程的不足之處顯而易見,首先處理借書、還書業(yè)務(wù)流程的效率很低,其次處理能力比較低,一段時(shí)間內(nèi),所能服務(wù)的讀者人數(shù)是有限的。利用計(jì)算機(jī)來處理這些流程無疑會(huì)極大程度地提高效率和處理能力。我們將會(huì)看到排隊(duì)等候借書、還書的隊(duì)伍不再那么長(zhǎng),工作人員出錯(cuò)的概率也小了,讀者可以花更多的時(shí)間在選擇書和看書上。為方便對(duì)圖書館書籍、讀者資料、借還書等進(jìn)行高效的管理,特編寫該程序以提高圖書館的管理效率。使用該程序之后,工作人員可以查詢某位讀者、某種圖書的借閱情況,還可以對(duì)當(dāng)前圖書借閱情況進(jìn)行一些統(tǒng)計(jì),給出統(tǒng)計(jì)表格,以便全面掌握?qǐng)D書的流通情況。2.2 系統(tǒng)可行性分析技術(shù)上可行:該系統(tǒng)所需硬件設(shè)備,市場(chǎng)上銷售且價(jià)格較低,甚至可以使用原有的設(shè)備,軟件上,操作系統(tǒng)采用Windows系列操作系統(tǒng),數(shù)據(jù)庫(kù)管理系統(tǒng)采用Visual Basic,這些軟件在MIS開發(fā)中已被大量應(yīng)用,技術(shù)上都比較成熟。因此在技術(shù)上是可行的。經(jīng)濟(jì)上可行:由于現(xiàn)在大學(xué)都需要采用計(jì)算機(jī)來進(jìn)行圖書館的管理,開發(fā)前景很好,可以收回經(jīng)濟(jì)投資。綜上所述,開發(fā)圖書管理系統(tǒng)在技術(shù)上、經(jīng)濟(jì)上都是可行的。2.3 系統(tǒng)需求圖書館管理信息系統(tǒng)的主要任務(wù)是建立詳細(xì)的借閱卡信息(涵蓋所有被獲準(zhǔn)在本館借書的人的信息),以及所有館內(nèi)的書種及對(duì)應(yīng)書刊的記錄,并對(duì)閱讀者和其借閱的書籍進(jìn)行登記,便于圖書管理員及時(shí)查看館內(nèi)書刊信息以及操作借/還書登記。在不同的圖書館之間,圖書管理系統(tǒng)會(huì)存在一定的差異,通常情況下,圖書管理信息系統(tǒng)的主要功能包括以下方面。(1)管理員信息管理。給每個(gè)管理員一個(gè)id和密碼,以登錄圖書管理信息系統(tǒng),便于身份驗(yàn)證,使具有一定資格的人才可登錄主界面。在此基礎(chǔ)上可以增加管理員和刪除管理員。(2)借閱卡信息管理。給每個(gè)在該館辦理借閱卡的人建立一個(gè)賬戶,并給借閱者發(fā)放借閱卡,賬戶中存儲(chǔ)借閱者的個(gè)人信息、借閱信息等,也要在用戶要注銷借閱卡的時(shí)候注銷所有內(nèi)容。(3)書刊借閱管信息管理。圖書管理員作為借閱者的代理操縱借書/還書等各項(xiàng)業(yè)務(wù)。在借閱書刊時(shí),只需要輸入借閱的書刊編號(hào)就可以,然后輸入借閱者的借閱卡號(hào),完成后提交。系統(tǒng)驗(yàn)證借閱者是否有效(是否存在此賬戶),若有效,借閱請(qǐng)求被接收并處理,系統(tǒng)查詢數(shù)據(jù)庫(kù)系統(tǒng),看庫(kù)存是否改變,此書看狀態(tài)顯示為“借出” 表明操作成功。系統(tǒng)會(huì)在借閱者賬戶中存儲(chǔ)所借書刊,以及書刊信息、借閱日期等,并提醒用戶該書刊限定的借閱日期。(4)書刊返還信息管理。再返還書刊時(shí),只需要輸入返還的書刊編號(hào),然后系統(tǒng)會(huì)查詢借閱此書的人的信息以及該書刊的被借閱日期和限定的借閱天數(shù),讓圖書管理員判斷是否過期,并對(duì)數(shù)據(jù)庫(kù)記錄進(jìn)行改變,刪除該書刊的借閱記錄。(5)借閱書刊管理。圖書管理員要能對(duì)所有被借出的書刊進(jìn)行查詢,了解哪些人借了哪些書,以及借閱日期等信息。當(dāng)某書刊被借出太久時(shí),對(duì)借該書的人進(jìn)行通知。(6)庫(kù)存管理。在新的書種或書刊進(jìn)館時(shí),要對(duì)庫(kù)存進(jìn)行添加記錄;在舊的書種或書刊被淘汰時(shí),也要對(duì)庫(kù)存進(jìn)行刪除記錄。當(dāng)讀者要對(duì)某種書刊進(jìn)行查詢時(shí),系統(tǒng)管理員也要能通過系統(tǒng)查詢庫(kù)存中該書刊的狀態(tài)。從功能描述的內(nèi)容看,本設(shè)計(jì)可以實(shí)現(xiàn)6大功能。根據(jù)這些功能,設(shè)計(jì)出系統(tǒng)的功能模塊,如圖2.1所示。 圖書館管理信息系統(tǒng)管理員信息管理借閱卡信息管理書刊借閱管理書刊返還管理書刊查詢管理庫(kù)存信息管理 圖 2.1 圖書館管理信息系統(tǒng)功能模塊用戶只要根據(jù)所針對(duì)圖書館的實(shí)際情況,對(duì)上述功能進(jìn)行適當(dāng)調(diào)整,就可應(yīng)用到實(shí)際情況中去。圖書管理信息系統(tǒng)作為當(dāng)前應(yīng)用非常廣泛的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)之一,其開發(fā)過程包括需求分析、數(shù)據(jù)庫(kù)分析和設(shè)計(jì),以及各功能模塊的實(shí)現(xiàn)。2.3.1 理解需求理解需求是在問題及其最終解決方案之間架設(shè)橋梁的第一步。開發(fā)者只有和客戶充分理解了需求之后才能開始設(shè)計(jì)系統(tǒng),否則,對(duì)需求定義的任何改進(jìn),設(shè)計(jì)上都必須大量的返工。下面是經(jīng)過雙方調(diào)研后得到得需求規(guī)格說明。(1)系統(tǒng)為管理員建立人事檔案,管理員進(jìn)入系統(tǒng)前需要身份驗(yàn)證,用戶名、密碼輸入正確后方可進(jìn)入系統(tǒng)。(2)系統(tǒng)為借閱者建立借閱卡檔案,檔案信息主要包括借閱卡號(hào)、學(xué)號(hào)、年紀(jì)、學(xué)院、聯(lián)系方式等。(3)在系統(tǒng)中,圖書館管理員可以增加新的借閱卡,修改已有的借閱卡信息,注銷已經(jīng)把書都還清的借閱卡賬戶。(4)在系統(tǒng)中,圖書管理員可以對(duì)擁有借閱卡的用戶辦理借書、還書業(yè)務(wù),并進(jìn)行登記,修改借閱卡上的借閱信息,修改在庫(kù)登記的書刊的狀態(tài),是“借出”還是“在庫(kù)”。(5)在系統(tǒng)中,圖書管理員可以及時(shí)查看所有借出的書的信息。(6)在系統(tǒng)中,圖書管理員可以修改庫(kù)存信息,增加新書刊/書種,刪除書刊/書種。(7)在系統(tǒng)中,圖書管理員可以給用戶查詢其所要借的書刊,顯示該書刊庫(kù)存中還剩幾本,編號(hào)多少的書還在庫(kù)等。(8)系統(tǒng)的客戶端在Windows平臺(tái)下運(yùn)行,服務(wù)器端可在Windows平臺(tái)或UNIX平臺(tái)下運(yùn)行。系統(tǒng)需求要有較好的安全性和可擴(kuò)展性,并提供簡(jiǎn)潔方便的圖形用戶界面。2.3.2 分析需求分析需求是從客戶的需求中提取出軟件系統(tǒng),能夠幫助用戶解決業(yè)務(wù)問題,通過對(duì)用戶業(yè)務(wù)問題的分析,規(guī)劃出系統(tǒng)的功能模塊,即定義用例。這個(gè)步驟是對(duì)理解需求的升華,直接關(guān)系到該系統(tǒng)的質(zhì)量。經(jīng)過開發(fā)者同客戶的需求分析后,確定圖書管理系統(tǒng)的功能模塊包括管理員信息管理、借閱卡信息管理、書刊借閱管理、書刊返回管理、庫(kù)存信息管理和書刊查詢管理。在前面描述了圖書管理信息系統(tǒng)的功能模塊劃分,但沒有給出個(gè)模塊之間的關(guān)系。在本系統(tǒng)中可以把模塊分為3個(gè)功能集合來描述。(1)基本信息管理功能集合。該集合包括借閱卡信息管理和庫(kù)存信息管理兩個(gè)模塊。主要用于提供借閱卡、書刊在庫(kù)情況的基本信息。(2)書刊借閱/返還/查詢管理功能集合。該集合包括書刊借閱、書刊返還以及書刊查詢3個(gè)管理模塊。書刊借閱管理模塊根據(jù)借閱卡及書刊庫(kù)存管理功能集合提供了借閱卡、書刊在庫(kù)情況進(jìn)行借閱管理,書刊返還管理模塊在根據(jù)借閱管理提供的借閱信息進(jìn)行返還管理;書刊查詢管理模塊可根據(jù)用戶的查詢條件對(duì)以上信息進(jìn)行查詢,如圖 2.2所示。 借閱卡信息管理庫(kù)存信息管理書刊借閱管理書刊返還管理書刊查詢管理圖 2.2 書刊借閱/返還/查詢管理功能集合關(guān)系圖(3)用戶管理及權(quán)限功能集合。該集合包括管理員信息管理和權(quán)限控制兩個(gè)功能模塊。雖然權(quán)限控制不是一個(gè)獨(dú)立存在的模塊,但它貫穿在整個(gè)運(yùn)行過程中。圖書管理信息系統(tǒng)的各管理模塊需要經(jīng)過權(quán)限授權(quán)才可以使用。權(quán)限功能模塊確定用戶角色有圖書管理員和擁有借閱卡的借閱者組成。其中:圖書管理員享受有最高權(quán)限,擁有對(duì)個(gè)管理模塊的使用權(quán)限,可以對(duì)借閱卡信息、書刊借閱/返還信息、庫(kù)存信息進(jìn)行管理和維護(hù)。擁有借閱卡的借閱者可以在管理員的操作下借閱和返還書刊,也可以進(jìn)行書刊的查詢。3 系統(tǒng)設(shè)計(jì)3.1 數(shù)據(jù)庫(kù)的創(chuàng)建在設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)之前,首先要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫(kù),本系統(tǒng)使用的數(shù)據(jù)庫(kù)名為L(zhǎng)ib。用戶可以在企業(yè)管理器中創(chuàng)建數(shù)據(jù)庫(kù),步驟如下。(1)打開Access窗口在系統(tǒng)桌面上選擇“開始”|“程序”命令,或者單擊工具欄中的“新建”按鈕,接著在出現(xiàn)的“任務(wù)窗格”中選擇“空數(shù)據(jù)庫(kù)”鏈接,出現(xiàn)如圖3.1所示的“文件新建數(shù)據(jù)庫(kù)”對(duì)話框。圖 3.1 “文件新建數(shù)據(jù)庫(kù)”對(duì)話框選擇文件保存位置,并在“文件名”文本框中輸入數(shù)據(jù)庫(kù)的文件名Lib,然后單擊“創(chuàng)建”按鈕,生成如圖3.2所示的數(shù)據(jù)庫(kù)窗口。 圖 3.2 數(shù)據(jù)庫(kù)窗口3.2 創(chuàng)建表 表的結(jié)構(gòu)需要說明的是,本圖書館是針對(duì)大學(xué)生圖書館開發(fā)的。數(shù)據(jù)庫(kù)Lib包含管理員信息表(Librarian)、學(xué)院信息表(Institute)、年級(jí)信息表(Grade)、借閱卡信息表(Borrower)、日期限定信息表(DatesRestrict)、書中信息表(Title)和書刊信息表(Book)等7個(gè)表。下面分別介紹這些。(1)管理員信息表 管理員信息表(Librarian)用來記錄管理員的權(quán)限信息,表Librarian的結(jié)構(gòu)如表3.1所示。 表 3.1 管理員信息表(Librarian)編號(hào)字段名稱數(shù)據(jù)結(jié)構(gòu)說明1Seq數(shù)字管理員編號(hào)2Id文本登錄id3Password文本登錄密碼4onJobTime文本工作時(shí)間5Telephone文本聯(lián)系電話Seq字段是表Librarian的主鍵,它唯一標(biāo)識(shí)每個(gè)記錄。(2)學(xué)院信息表學(xué)院信息表(Institute)用來描述借閱者的學(xué)院信息,表Institute的結(jié)構(gòu)如表3.2所示。表 3.2 學(xué)院信息表(Institute)編號(hào)字段名稱數(shù)據(jù)結(jié)構(gòu)說明1InstituteID文本學(xué)院編號(hào)2Institute文本學(xué)院名稱InstituteID字段是表Institute的主鍵,它唯一標(biāo)識(shí)每個(gè)記錄。(3)年級(jí)信息表(Grade)年級(jí)信息表(Grade)用來描述借閱者的年級(jí)信息,表Grade的結(jié)構(gòu)如表3.3所示。表 3.3 年級(jí)信息表(Grade)編號(hào)字段名稱數(shù)據(jù)結(jié)構(gòu)說明1GradeID文本年級(jí)編號(hào)2Grade文本年級(jí)名稱GradeID字段是表Grade的主鍵,它唯一標(biāo)識(shí)每個(gè)記錄。(4)借閱卡信息表(Borrower) 借閱卡信息表(Borrower)用來保存借閱者的基本信息,表Borrower的結(jié)構(gòu)如表3.4所示。 表 3.4 借閱卡信息表(Borrower)編號(hào)字段名稱數(shù)據(jù)結(jié)構(gòu)說明1BorrowerID數(shù)字借閱卡編號(hào)2InstituteID文本學(xué)院編號(hào)3GradeID文本年級(jí)編號(hào)4Name文本借閱者姓名5StudentNum文本借閱者學(xué)好6Telephone文本借閱者電話7borrowerBookNum文本以借書數(shù)目BorrowerID字段是表Borrower的主鍵,它唯一標(biāo)識(shí)每個(gè)記錄。表Borrower與表Institute是一對(duì)多的關(guān)系,InstituteID字段是一個(gè)外部鍵,它將這兩個(gè)表連接起來。另外,表Borrower也以一對(duì)多的關(guān)系鏈接到表Grade,GradeID字段是一個(gè)外部鍵,它將該表同表Grade鏈接在一起。(5)日期限定信息表(DatesRestrict)日期限定信息表(DatesRestrict)用來描述各類書限定的被借閱天數(shù),表DatesRestrict的結(jié)構(gòu)如表3.5所示。表 3.5 日期限定信息表(DatesRestrict)編號(hào)字段名稱數(shù)據(jù)結(jié)構(gòu)說明1Type文本書種2Dates_restrict數(shù)字天數(shù)Type字段是表Grade的主鍵,它唯一標(biāo)識(shí)每個(gè)記錄。(6)書中信息表(Title) 書中信息表(Title)用來描述圖書館中書刊信息,表Title的結(jié)構(gòu)如表3.6所示。表 3.6 書中信息表(Title)編號(hào)字段名稱數(shù)據(jù)結(jié)構(gòu)說明1NameChar(10)書名2AuthorChar(10)作者3IsbsnChar(10)IS/BSN號(hào)碼4TypeChar(10)書所述種類5NumChar(10)該書中有多少書刊書種信息表Title與日期限定信息表DatesRestrict是一對(duì)一的關(guān)系,Type是一個(gè)外部鍵,它將這兩個(gè)表連接起來。(7)書刊信息表(Book)書刊信息表(Book)用來記錄圖書館中書刊的基本信息,表Book的結(jié)構(gòu)如表3.7所示。表 3.7 書刊信息表(Book)編號(hào)字段名稱數(shù)據(jù)結(jié)構(gòu)說明1bookID文本書刊編號(hào)2Name文本書名3Loan文本狀態(tài)4BorrowerID文本結(jié)束的借閱卡ID5BorrowerDate文本該書被借閱的時(shí)間BookID字段是表Book的主鍵,它唯一標(biāo)識(shí)每個(gè)記錄。在Access中使用設(shè)計(jì)視圖創(chuàng)建表。下面以表Librarian為例介紹如何使用設(shè)計(jì)視圖創(chuàng)建數(shù)據(jù)表。在數(shù)據(jù)庫(kù)窗口的“對(duì)象”欄中選擇“表”,然后在右側(cè)的列表中雙擊“使用設(shè)計(jì)器創(chuàng)建表”連接,出現(xiàn)“表設(shè)計(jì)視圖”窗口,如圖3.3所示。圖 3.3 “表設(shè)計(jì)視圖”窗口在“表設(shè)計(jì)視圖”窗口中,可以定義表Librarian中每個(gè)字段的字段名稱、數(shù)據(jù)類型以及字段屬性,然后選中seq字段所造的那一行,并在工具欄中單擊“主鍵”按鈕,將seq字段設(shè)置為該表的主鍵,此時(shí)該行的“列選擇器”上將多出一把鑰匙圖標(biāo)。設(shè)置完成后,在工具欄中單擊“保存”按鈕,將彈出“輸入表明”對(duì)話框,如圖3.4所示。輸入Librarian,單擊“確定”按鈕,完成管理員信息表Librarian的創(chuàng)建。圖 3.4 輸入表名關(guān)于其他表與字段的創(chuàng)建,可以按照上面的方法自行創(chuàng)建。創(chuàng)建完所有表之后,首先在用戶管理表(Librarian)中創(chuàng)建一個(gè)用戶,插入相應(yīng)的信息。3.3 設(shè)定表關(guān)系 Accesss作為關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),指定表之間的關(guān)系很重要。Lib數(shù)據(jù)庫(kù)的所有表與字段創(chuàng)建完成,就需要設(shè)定表關(guān)系了,Access將來會(huì)憑借表關(guān)系來連接兩個(gè)表或查詢中的數(shù)據(jù),步驟如下。(1)打開數(shù)據(jù)庫(kù)窗口,選擇“工具”|“關(guān)系”命令,或者單擊工具欄中的“關(guān)系”按鈕,出現(xiàn)“關(guān)系”窗口。在窗口的任意空白處單擊右鍵,在彈出的快捷菜單中選擇“顯示表”,或單擊工具欄的“顯示表”按鈕,出現(xiàn)“顯示表”對(duì)話框,如圖3.5所示。圖 3.5 “顯示表”對(duì)話框(2)在“表”選項(xiàng)卡中,使用鍵盤上的Ctrl及shift鍵與鼠標(biāo)共同操作,同時(shí)選取剛才所創(chuàng)建的7個(gè)表,并單擊“添加”按鈕。確認(rèn)后,單擊“關(guān)閉”按鈕,結(jié)果如圖3.6所示。圖 3.6 “關(guān)系”窗口(3)在“關(guān)系”窗口中,首先選中標(biāo)DatesRestrict中的type字段,接著按住拖動(dòng)至表Title上方,然后釋放鼠標(biāo)左鍵,出現(xiàn)“編輯關(guān)系”對(duì)話框,如圖3.7所示。圖 3.7 “編輯關(guān)系”對(duì)話框(4)確保顯示在兩個(gè)列表的字段名稱的正確性后,單擊“確定”按鈕,Access會(huì)根據(jù)關(guān)系字段在兩個(gè)表中的特性,自動(dòng)判斷關(guān)系類型為“一對(duì)多”。按照上述方法創(chuàng)建其他關(guān)系,結(jié)果如圖3.8所示。圖 3.8 “編輯關(guān)系”對(duì)話框3.4 創(chuàng)建數(shù)據(jù)源在用程序代碼實(shí)現(xiàn)調(diào)用數(shù)據(jù)庫(kù)之前,首先應(yīng)該在Windows的ODBC數(shù)據(jù)庫(kù)管理器中注冊(cè)數(shù)據(jù)庫(kù)Lib,具體步驟如下。(1)選擇“開始”|“程序”|“管理工具”|“數(shù)據(jù)源(ODBC)”命令,打開“ODBC數(shù)據(jù)源管理器”對(duì)話框,選擇“用戶DSN”選項(xiàng)卡,然后單擊“添加”按鈕,出現(xiàn)“創(chuàng)建新數(shù)據(jù)源”對(duì)話框。(2)在“創(chuàng)建新數(shù)據(jù)源”對(duì)話框列表中選擇數(shù)據(jù)源的驅(qū)動(dòng)程序?yàn)镈river do Microsoft Access(*.mdb),然后單擊“完成”按鈕。(3)在顯示的“OBNC Microsoft Access安裝”對(duì)話框中單擊“選擇”按鈕,在出現(xiàn)的“選擇數(shù)據(jù)庫(kù)”對(duì)話框中選擇要定義數(shù)據(jù)源的數(shù)據(jù)庫(kù)Lib,如圖3.9所示。圖 3.9 “選擇數(shù)據(jù)庫(kù)”對(duì)話框單擊“確定”按鈕關(guān)閉對(duì)話框,返回“OBNC Microsoft Access安裝”對(duì)話框,然后將數(shù)據(jù)源名稱填寫為L(zhǎng)ib,結(jié)果如圖3.10所示。圖 3.10 “OBNC Microsoft Access安裝”對(duì)話框(4)單擊“確定”按鈕此時(shí)可以看到在“OBNC數(shù)據(jù)管理器”對(duì)話框中,用戶“用戶DSN”選項(xiàng)卡中的“用戶數(shù)據(jù)庫(kù)源”列表中多了Lib數(shù)據(jù)庫(kù)。4 圖書借閱系統(tǒng)的實(shí)現(xiàn)4.1 創(chuàng)建工程項(xiàng)目 本設(shè)計(jì)是在Visual Basic 6.0開發(fā)平臺(tái)下進(jìn)行系統(tǒng)開發(fā)的,首先創(chuàng)建該系統(tǒng)的工程文件LibManagement.vbp,具體步驟如下。(1)運(yùn)行Visual Basic 6.0,在工程模板中選擇新建“標(biāo)準(zhǔn)EXE”。(2)單擊“打開”按鈕后,在主窗口中會(huì)出現(xiàn)一個(gè)默認(rèn)的窗體Form1。(3)選擇“工程”|“工程1屬性”命令,彈出工程屬性對(duì)話框,在對(duì)話框中將工程命名為L(zhǎng)ibManagement。(4)單擊“確定”按鈕,將工程存儲(chǔ)為L(zhǎng)ibManagement.vbp。另外,將窗體Form1保存為frmLogin.frx。4.2 添加模塊在Visual Basic 6.0中,模塊文件相當(dāng)于用戶的程序庫(kù),用戶可以使用模塊來管理工程中的全局常量、變量、自定義函數(shù)和過程。在窗體中事件代碼中調(diào)用模塊中的公用代碼,可以提供代碼的復(fù)用率,從而大大優(yōu)化了系統(tǒng)結(jié)構(gòu)。在項(xiàng)目資源管理器中項(xiàng)目添加一個(gè)模塊(Module),保存為Module1.bas。Module1模塊的代碼如下:定義全局常量Public Const ConnectString As String = DSN=Lib;UID=;PWD=初始化系統(tǒng)登錄界面Sub Main() 系統(tǒng)開始,首先進(jìn)入登錄界面 Dim fLogin As New FrmLogin fLogin.Show vbModal If Not fLogin.OK Then Login Failed so exit app End End If Unload fLogin 用戶身份驗(yàn)證成功后,進(jìn)入主界面 FrmMain.ShowEnd Sub在該模塊中定義了一個(gè)全局常量ConnectString,用于保存連接數(shù)據(jù)源的配置信息。其中,DSN指定為數(shù)據(jù)源Lib,用戶名和密碼(UID和PEW)需要同建立數(shù)據(jù)源時(shí)使用的用戶名和密碼一致,這里設(shè)置為空。另外,還需要重新定義過程Main,該過程可以用來初始化系統(tǒng)登錄界面。在Main中,定義系統(tǒng)運(yùn)行時(shí),首先進(jìn)入登錄界面FrmLogin,如果登錄成功,則顯示主界面FrmMain。4.3 添加類模塊類模塊相當(dāng)于用戶自定義的對(duì)象庫(kù),在類模塊中可以編寫自定義的對(duì)象,為對(duì)象定義屬性、事件或者添加方法。通過使用類模塊,將特定的操作封裝在一起,從而極大的提高了軟件調(diào)試和測(cè)試的效率。 在項(xiàng)目資源管理器中,為項(xiàng)目添加3個(gè)類模塊,其名稱以及功能描述如表3.8所示。表3.8 類模塊名稱及功能描述類模塊功能描述DbOperation用來完成對(duì)數(shù)據(jù)庫(kù)的相關(guān)操作BuildComboList用來完成對(duì)界面中所使用的列表框的操作BookDate用來格式化要保存到數(shù)據(jù)表Book中的系統(tǒng)日期1 DbOperation類模塊在該模塊中,首先聲明一個(gè)連接conn和一個(gè)數(shù)據(jù)集對(duì)象rst,代碼如下:聲明一個(gè)連接Dim conn As ADODB.Connection聲明一個(gè)數(shù)據(jù)集對(duì)象Dim rst As ADODB.Recordset 由于系統(tǒng)中的各個(gè)功能模塊都將頻繁對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,首先需要實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的鏈接。定義過程DB_Connect(),代碼如下:Public Sub DB_Connect() 建立連接 Set conn = New ADODB.Connection conn.Open ConnectStringEnd Sub 用戶每次訪問數(shù)據(jù)庫(kù),都要調(diào)用DB_Connect()過程連接數(shù)據(jù)庫(kù)。注意,這里所使用的ConnectString就是模塊Module1中所定義的全局變量,它保存了與數(shù)據(jù)源Lib的連接信息。 在對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的過程中,通常需要執(zhí)行查詢(Select)語(yǔ)句對(duì)各種數(shù)據(jù)進(jìn)行查詢。定義函數(shù)querySQL(),代碼如下:Public Function querySQL(ByVal sql As String) As ADODB.Recordset 執(zhí)行查詢 Set rst = New ADODB.Recordset rst.Open Trim$(sql), conn, adOpenKeyse
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 修復(fù)疤痕合同范例
- 個(gè)人運(yùn)輸材料合同范例
- fpc代加工合同范例
- 書店轉(zhuǎn)讓店鋪合同范例
- 井隊(duì)供水合同范例
- 共享養(yǎng)牛合同范例
- 儀器延保合同范例
- 農(nóng)場(chǎng)出售轎車合同范例
- 臨時(shí)用工合同范例 文檔
- 上海養(yǎng)老服務(wù)合同范例
- 第3課《校園文化活動(dòng)我參與》教案 海燕版綜合實(shí)踐活動(dòng) 三年級(jí)下冊(cè)
- 大學(xué)生職業(yè)規(guī)劃大賽《運(yùn)動(dòng)康復(fù)專業(yè)》生涯發(fā)展展示
- 高樓遮光補(bǔ)償協(xié)議書范本
- 課題申報(bào)書:生成式人工智能賦能高職教學(xué)變革研究
- 2025-2030專用車產(chǎn)業(yè)規(guī)劃及發(fā)展研究報(bào)告
- 《自由現(xiàn)金流折現(xiàn)法對(duì)東鵬特飲公司的財(cái)務(wù)估值實(shí)例分析》2000字
- 2024年四川綿陽(yáng)科技城新區(qū)招聘社區(qū)工作者考試真題
- 2025-2030中國(guó)甘蔗收割機(jī)行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 二零二五簡(jiǎn)短美發(fā)店勞動(dòng)合同
- 食品安全自查、從業(yè)人員健康管理、進(jìn)貨查驗(yàn)記錄、食品安全事故處置等保證食品安全的規(guī)章制度15303
- 外研版(三起)(2024)三年級(jí)下冊(cè)英語(yǔ)Unit 2 單元測(cè)試卷(含答案)
評(píng)論
0/150
提交評(píng)論