版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 圖書(shū)管理系統(tǒng)</b></p><p><b> 目 錄</b></p><p> 摘 要 III</p><p> AbstractIV</p><p><b> 前 言V</b></p><p>
2、 第一章 綜述 ………………………………………………………………………… 1</p><p> 1.1 圖書(shū)館管理系統(tǒng)開(kāi)發(fā)背景1</p><p> 1.2 圖書(shū)館管理系統(tǒng)的目的和意義2</p><p> 第二章 系統(tǒng)分析設(shè)計(jì)3</p><p> 2.1 系統(tǒng)功能分析3</p><p> 2
3、.2 系統(tǒng)功能模塊設(shè)計(jì)3</p><p> 第三章 數(shù)據(jù)庫(kù)分析與設(shè)計(jì)5</p><p> 3.1 數(shù)據(jù)庫(kù)需求分析5</p><p> 3.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)5</p><p> 3.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)7</p><p> 3.3.1 書(shū)籍信息表7</p><
4、p> 3.3.2 讀者信息表8</p><p> 3.3.3 借閱信息表8</p><p> 3.3.4 讀者類(lèi)別表8</p><p> 3.3.5 用戶(hù)表8</p><p> 3.4 讀者借書(shū)過(guò)程的數(shù)據(jù)流圖和數(shù)據(jù)詞典8</p><p> 3.4.1 數(shù)據(jù)流圖8</p>
5、;<p> 3.4.2 數(shù)據(jù)詞典9</p><p> 3.5 讀者還書(shū)過(guò)程的數(shù)據(jù)流圖和數(shù)據(jù)詞典12</p><p> 3.5.1 數(shù)據(jù)流圖11</p><p> 3.5.2 數(shù)據(jù)詞典12</p><p> 第四章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)14</p><p> 4.1 圖書(shū)館管
6、理信息系統(tǒng)主窗體的創(chuàng)建14</p><p> 4.2 系統(tǒng)用戶(hù)管理模塊的創(chuàng)建16</p><p> 4.3 添加讀者種類(lèi)窗體的創(chuàng)建20</p><p> 4.4 查詢(xún)圖書(shū)信息與借書(shū)窗體的創(chuàng)建22</p><p> 第五章 結(jié)果與討論28</p><p> 5.1 工作成果28</p
7、><p> 5.2 問(wèn)題與不足28</p><p> 5.3 學(xué)習(xí)心得28</p><p><b> 參考文獻(xiàn)30</b></p><p><b> 致 謝31</b></p><p><b> 摘 要</b></p>
8、;<p> 隨著科學(xué)技術(shù)的迅猛發(fā)展,圖書(shū)館管理工作的自動(dòng)化所需的軟硬件條件已經(jīng)成熟。因此,我按照軟件工程思想和管理信息系統(tǒng)的開(kāi)發(fā)步驟,以圖書(shū)館的應(yīng)用需求為背景,設(shè)計(jì)開(kāi)發(fā)了本圖書(shū)館管理系統(tǒng)。</p><p> 圖書(shū)管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS)。本文介紹了在Visual Basic 6.0環(huán)境下開(kāi)發(fā)本系統(tǒng)的詳細(xì)過(guò)程,提出實(shí)現(xiàn)圖書(shū)館信息管理、資源共享的基本目標(biāo),從而推動(dòng)邁向數(shù)字化圖書(shū)館的步伐
9、,并闡述系統(tǒng)結(jié)構(gòu)設(shè)計(jì)和功能設(shè)計(jì),從圖書(shū)的入庫(kù)登記到查詢(xún)?yōu)g覽,從借書(shū)證發(fā)放到圖書(shū)的借閱,形成了一個(gè)整體自動(dòng)化管理模式,從軟件工程的角度進(jìn)行了科學(xué)而嚴(yán)謹(jǐn)?shù)年U述。</p><p> 關(guān)鍵詞: 圖書(shū)管理 數(shù)據(jù) 瀏覽 </p><p><b> ABSTRACT</b></p><p> Along with the rapid de
10、velopment of science and technology, the library automation management work for software and hardware conditions ripe. Therefore, I according to software engineering idea and the management information system development
11、 steps in the library, the application for background, design the library management system.</p><p> The library management system is the typical information management system (MIS). Introduced in the Visua
12、l Basic 6.0 under the environment of development of the system, and puts forward the detailed process of library, information management, resources sharing, and promote the Basic goal towards the pace of the digital libr
13、ary, and expounds the construction and design of the system and function of books, from design to browse, inquires from card issued to books borrowing, formed a whole automati</p><p> Keywords:Library Manag
14、ement Data Browse</p><p><b> 前 言</b></p><p> 隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)與通信技術(shù)的發(fā)展,人類(lèi)已進(jìn)入信息化社會(huì),人們對(duì)信息和數(shù)據(jù)的利用與處理也已進(jìn)入自動(dòng)化、網(wǎng)絡(luò)化和社會(huì)化階段,因此,開(kāi)發(fā)相關(guān)的信息管理系統(tǒng)已成為社會(huì)各行各業(yè)之必須,計(jì)算機(jī)學(xué)科作為一門(mén)邊緣學(xué)科,集管理科學(xué)、信息科學(xué)、系統(tǒng)科學(xué)、現(xiàn)代通信技術(shù)和計(jì)
15、算機(jī)技術(shù)于一身,可以解決企業(yè)或組織所面臨的問(wèn)題。</p><p> 圖書(shū)館管理系統(tǒng)是一種典型的信息管理系統(tǒng),它的設(shè)計(jì)與開(kāi)發(fā)遵循信息管理系統(tǒng)開(kāi)發(fā)的方法。信息管理系統(tǒng)的開(kāi)發(fā)方法有生命周期法、原型法和面向?qū)ο蟮拈_(kāi)發(fā)方法等,并且管理信息系統(tǒng)的開(kāi)發(fā)是一個(gè)開(kāi)發(fā)周期長(zhǎng)、技術(shù)要求高、影響因素多的復(fù)雜系統(tǒng)工程,因此我欲采用面向?qū)ο蟮姆椒ㄩ_(kāi)發(fā)小型圖書(shū)管理系統(tǒng),以完善個(gè)人、小型圖書(shū)館、中小型企事業(yè)單位的圖書(shū)管理。本畢業(yè)設(shè)計(jì)研究的主要
16、內(nèi)容是:使用者需要憑用戶(hù)名和密碼才能進(jìn)入圖書(shū)館管理系統(tǒng);管理員可以對(duì)圖書(shū)、用戶(hù)等信息進(jìn)入增加、修改、刪除等操作;也可以進(jìn)行借出操作和歸還操作;用戶(hù)可以實(shí)現(xiàn)多種不同方式查詢(xún)。</p><p> 本設(shè)計(jì)主要用于中小規(guī)模的圖書(shū)管理,總體任務(wù)是使圖書(shū)管理工作規(guī)范化、系統(tǒng)化、程序化,避免圖書(shū)管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢(xún)和修改圖書(shū)情況。</p><p><
17、;b> 第一章 綜述</b></p><p> 隨著各圖書(shū)館的圖書(shū)的數(shù)量不斷增多和圖書(shū)館規(guī)模的不斷擴(kuò)大,管理這些龐大的體系非常困難的,因?yàn)閳D書(shū)的情況是隨時(shí)改變的,因此必需對(duì)圖書(shū)進(jìn)行動(dòng)態(tài)的管理,而這對(duì)于一個(gè)管理人員來(lái)說(shuō)是一件比較復(fù)雜的事情,存儲(chǔ)、查詢(xún)、借閱是必不可少的業(yè)務(wù)。</p><p> 為了能讓管理員從繁重的工作中解脫出來(lái),使管理員在使用一個(gè)軟件以后能極其容易
18、地對(duì)所有圖書(shū)進(jìn)行管理,并且準(zhǔn)確無(wú)誤,輕松自如。因此開(kāi)發(fā)一個(gè)圖書(shū)館管理系統(tǒng)軟件是當(dāng)務(wù)之急,也是本畢業(yè)設(shè)計(jì)選題的重要意義和研究宗旨。</p><p> 圖書(shū)館管理系統(tǒng)的流通部分是所有圖書(shū)館系統(tǒng)中最重要的部分,流通系統(tǒng)將讀者與圖書(shū)、讀者與管理員、讀者與讀者相互間聯(lián)系起來(lái),而且流通系統(tǒng)處理的數(shù)據(jù)類(lèi)型多,數(shù)量大,精細(xì)且頻繁,因而需要系統(tǒng)應(yīng)具備較完善的檢驗(yàn)防錯(cuò)功能,從而根據(jù)系統(tǒng)的運(yùn)行及反饋信息高質(zhì)量,高效率地管理系統(tǒng)流通部
19、門(mén)的全部功能。</p><p> 由于時(shí)間倉(cāng)促和本人水平有限,不當(dāng)之處在所難免,請(qǐng)各位老師批評(píng)指正。</p><p> 1.1 圖書(shū)館管理系統(tǒng)開(kāi)發(fā)背景</p><p> 當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代。在各行各業(yè)中離不開(kāi)信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效
20、率,而且大大的提高了其安全性。 尤其對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開(kāi)發(fā)密切相關(guān),系統(tǒng)的開(kāi)發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好圖書(shū)館信息而設(shè)計(jì)的。 圖書(shū)館作為一種信息資源的集散地,圖書(shū)和用戶(hù)借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書(shū)館都是初步開(kāi)始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理。根據(jù)調(diào)查得知,他們以前對(duì)信息管理的主要方式是基于文本、表格等紙介質(zhì)的
21、手工處理,對(duì)于圖書(shū)借閱情況(如借書(shū)天數(shù)、超過(guò)限定借書(shū)時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用對(duì)借書(shū)卡的人工檢查進(jìn)行,對(duì)借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計(jì)算、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯(cuò);由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩?lái)說(shuō),缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書(shū)館有計(jì)算機(jī),但是尚未用于信息管理,沒(méi)有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)</p><p> 1.2 圖書(shū)館
22、管理系統(tǒng)的目的和意義</p><p> 我們要實(shí)現(xiàn)科學(xué)技術(shù)現(xiàn)代化,圖書(shū)情報(bào)工作的現(xiàn)代化是極其重要的,又由于科學(xué)和技術(shù)的不斷發(fā)展和進(jìn)步,現(xiàn)代技術(shù)是一個(gè)動(dòng)態(tài)的概念.第二次世界大戰(zhàn)以來(lái),以計(jì)算機(jī)技術(shù)為代表的現(xiàn)代技術(shù)有了巨大的發(fā)展,而且還在迅速的變化發(fā)展之中,70年代后期,出現(xiàn)圖書(shū)情報(bào)工作的 “聯(lián)機(jī)革命”,使計(jì)算機(jī)更廣泛地,更有效的應(yīng)用到各個(gè)角落,發(fā)達(dá)國(guó)家較重視這一領(lǐng)域的發(fā)展,我國(guó)尚存在較大的差距。所以我們說(shuō),圖書(shū)情報(bào)
23、工作計(jì)算機(jī)化是提高我國(guó)科學(xué)技術(shù)水平的一項(xiàng)帶有重大戰(zhàn)略意義的措施,它是圖書(shū)情報(bào)工作現(xiàn)代化的重要標(biāo)志。</p><p> 計(jì)算機(jī)技術(shù)是現(xiàn)代技術(shù)的一部分,圖書(shū)自動(dòng)化也只是圖書(shū)館現(xiàn)代化的一部分,它們之間是部分和整體的關(guān)系,但由于計(jì)算機(jī)技術(shù)是信息技術(shù)的心臟,現(xiàn)代社會(huì)的驕子,信息社會(huì)的科技主角,所以在圖書(shū)館現(xiàn)代技術(shù)中,計(jì)算機(jī)技術(shù)處于核心地位,它對(duì)于其他現(xiàn)代化設(shè)備起控制,連接和轉(zhuǎn)換的作用,而圖書(shū)館自動(dòng)化是圖書(shū)館現(xiàn)代化的核心和
24、主導(dǎo)部分。圖書(shū)情報(bào)的計(jì)算機(jī)管理系統(tǒng)能提高圖書(shū)館本身管理水平,能代替工作人員進(jìn)行圖書(shū)情報(bào)資料的某些加工處理,把工作人員從繁重的手工勞動(dòng),重復(fù)勞動(dòng)中解放出來(lái)。</p><p> 總之,建立圖書(shū)館的計(jì)算機(jī)自動(dòng)化管理系統(tǒng),不但可以大大提高圖書(shū)館圖書(shū)流通率,而且推動(dòng)了社會(huì)文化生活的進(jìn)步。</p><p> 本論文以圖書(shū)館管理信息系統(tǒng)的需求分析及概念設(shè)計(jì)為切入點(diǎn),運(yùn)用理論與實(shí)際相結(jié)合的方法,構(gòu)建一
25、個(gè)包含讀者信息,書(shū)籍信息和借閱信息的圖書(shū)館管理系統(tǒng)。圖書(shū)館管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。</p><p> 因此本人結(jié)合開(kāi)放式圖書(shū)館的要求,對(duì)Access數(shù)據(jù)庫(kù)管理系統(tǒng)、Visual Basic程序設(shè)計(jì)進(jìn)行了較深入的學(xué)習(xí)和應(yīng)用,主
26、要完成對(duì)圖書(shū)管理系統(tǒng)的需求分析、功能模塊劃分、數(shù)據(jù)庫(kù)模式分析,并由此設(shè)計(jì)了數(shù)據(jù)庫(kù)結(jié)構(gòu)和應(yīng)用程序。希望本文所設(shè)計(jì)的圖書(shū)館管理系統(tǒng)能夠滿(mǎn)足借閱者和圖書(shū)館管理人員的需求。</p><p> 第二章 系統(tǒng)分析設(shè)計(jì)</p><p> 2.1 系統(tǒng)功能分析</p><p> 系統(tǒng)開(kāi)發(fā)的總體任務(wù)是實(shí)現(xiàn)各種信息的系統(tǒng)化、規(guī)范化和自動(dòng)化。</p><
27、p> 系統(tǒng)功能分析是在系統(tǒng)開(kāi)發(fā)的總體任務(wù)的基礎(chǔ)上完成。本設(shè)計(jì)中的圖書(shū)館管理信息系統(tǒng)需要完成功能主要有:</p><p> 1.有關(guān)讀者種類(lèi)標(biāo)準(zhǔn)的制定、種類(lèi)信息的輸入,包括種類(lèi)編號(hào)、種類(lèi)名稱(chēng)、借書(shū)數(shù)量、借書(shū)期限等。</p><p> 2.讀者種類(lèi)信息的修改、查詢(xún)等。</p><p> 3.讀者基本信息的輸入,包括讀者編號(hào)、讀者姓名、讀者種類(lèi)、讀者性別、工
28、作單位、家庭住址、電話號(hào)碼、辦證日期等。</p><p> 4.讀者基本信息的查詢(xún)、修改,包括讀者編號(hào)、讀者姓名、讀者種類(lèi)、讀者性別、工作單位、家庭住址、電話號(hào)碼、辦證日期等。</p><p> 5.書(shū)籍信息的輸入,包括書(shū)籍編號(hào)、書(shū)籍名稱(chēng)、書(shū)籍類(lèi)別、作者姓名、出版社名稱(chēng)、出版日期、登記日期等。</p><p> 6.書(shū)籍信息的查詢(xún)、修改,包括書(shū)籍編號(hào)、書(shū)籍名稱(chēng)
29、、書(shū)籍類(lèi)別、作者姓名、出版社名稱(chēng)、出版日期、登記日期等。</p><p> 7.借書(shū)信息的輸入,包括借書(shū)信息編號(hào)、讀者編號(hào)、讀者姓名、書(shū)籍編號(hào)、書(shū)籍名稱(chēng)、借書(shū)日期等。</p><p> 8.借書(shū)信息的查詢(xún)、修改,包括借書(shū)信息編號(hào)、讀者編號(hào)、讀者姓名、書(shū)籍編號(hào)、書(shū)籍名稱(chēng)、借書(shū)日期等。</p><p> 9.還書(shū)信息的輸入,包括還書(shū)信息編號(hào)、讀者編號(hào)、讀者姓名、書(shū)
30、籍編號(hào)、書(shū)籍名稱(chēng)、借書(shū)日期、還書(shū)日期等。</p><p> 10.還書(shū)信息查詢(xún)和修改,包括還書(shū)信息編號(hào)、讀者編號(hào)、讀者姓名、書(shū)籍編號(hào)、書(shū)籍名稱(chēng)、借書(shū)日期、還書(shū)日期等。</p><p> 2.2 系統(tǒng)功能模塊設(shè)計(jì)</p><p> 對(duì)上述各項(xiàng)功能進(jìn)行集中、模塊劃分,按照結(jié)構(gòu)化程序設(shè)計(jì)的要求,得到如圖2.1所示的系統(tǒng)功能模塊圖。</p><
31、;p> 圖2.1 系統(tǒng)功能模塊圖</p><p> 第三章 數(shù)據(jù)庫(kù)分析與設(shè)計(jì)</p><p> 3.1 數(shù)據(jù)庫(kù)需求分析</p><p> 用戶(hù)的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢(xún),這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿(mǎn)足各種信息的輸出和輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為以后的具體設(shè)計(jì)打下基礎(chǔ)。</
32、p><p> 針對(duì)一般圖書(shū)館管理信息系統(tǒng)的需求,通過(guò)對(duì)圖書(shū)館管理工作過(guò)程的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計(jì)如下面所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):</p><p> 1.讀者種類(lèi)信息,包括的數(shù)據(jù)項(xiàng)有:種類(lèi)編號(hào)、種類(lèi)名稱(chēng)、借書(shū)數(shù)量、借書(shū)期限、有效期限等。</p><p> 2.讀者信息,包括的數(shù)據(jù)項(xiàng)有:讀者編號(hào)、讀者姓名、讀者種類(lèi)、讀者性別、工作單位、家庭住址、電話號(hào)碼、辦證日期等。
33、</p><p> 3.書(shū)籍類(lèi)別信息,包括的數(shù)據(jù)項(xiàng)有:類(lèi)別編號(hào)、類(lèi)別名稱(chēng)等。</p><p> 4.書(shū)籍信息,包括的數(shù)據(jù)項(xiàng)有:包括書(shū)籍編號(hào)、書(shū)籍名稱(chēng)、書(shū)籍類(lèi)別、作者姓名、出版社名稱(chēng)、出版日期、登記日期等。</p><p> 5.借閱信息,包括的數(shù)據(jù)項(xiàng)有:借閱信息編號(hào)、讀者編號(hào)、讀者姓名、書(shū)籍編號(hào)、書(shū)籍名稱(chēng)、借書(shū)日期、還書(shū)日期等。</p><
34、p> 有了上面的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)項(xiàng)和數(shù)據(jù)流程,就可以進(jìn)行下面的數(shù)據(jù)庫(kù)設(shè)計(jì)了。</p><p> 3.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</p><p> 得到上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計(jì)出能夠滿(mǎn)足用戶(hù)需求的各種實(shí)體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。</p><p> 本實(shí)例根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體有:讀者類(lèi)別信息實(shí)體、讀者信息實(shí)體、書(shū)籍
35、類(lèi)別信息實(shí)體、書(shū)籍信息實(shí)體、借閱信息實(shí)體。各個(gè)實(shí)體具體的描述E-R圖如下。</p><p> 讀者類(lèi)別信息實(shí)體E-R圖如圖3.1所示。</p><p> 圖3.1 讀者類(lèi)別信息實(shí)體E-R圖</p><p> 讀者信息實(shí)體E-R圖如圖3.2所示。</p><p> 圖3.2 讀者信息實(shí)體E-R圖</p><p&g
36、t; 書(shū)籍類(lèi)別信息實(shí)體E-R圖如圖3.3所示。</p><p> 圖3.3 書(shū)籍類(lèi)別信息實(shí)體E-R圖</p><p> 書(shū)籍信息實(shí)體E-R圖如圖3.4所示。</p><p> 圖3.4 書(shū)籍信息實(shí)體E-R圖</p><p> 借閱信息實(shí)體E-R圖如圖3.5所示。</p><p> 圖3.5 借閱信息實(shí)
37、體E-R圖</p><p> 實(shí)體之間相互關(guān)系的E-R圖如圖3.6所示。</p><p> 圖3.6 實(shí)體之間關(guān)系的E-R圖</p><p> 3.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 3.3.1 書(shū)籍信息表</p><p> 由多個(gè)圖書(shū)記錄構(gòu)成。</p><p> 圖
38、書(shū)記錄的數(shù)據(jù)結(jié)構(gòu)如下:</p><p> 3.3.2 讀者信息表</p><p><b> 由多個(gè)讀者記錄構(gòu)成</b></p><p> 讀者記錄的數(shù)據(jù)結(jié)構(gòu)如下:</p><p> 3.3.3 借閱信息表</p><p> 由若干個(gè)借書(shū)記錄構(gòu)成</p><p>
39、; 借書(shū)記錄的數(shù)據(jù)結(jié)構(gòu)如下:</p><p> 3.3.4 讀者類(lèi)別表</p><p> 有單個(gè)系統(tǒng)設(shè)置記錄構(gòu)成</p><p> 系統(tǒng)設(shè)置記錄的數(shù)據(jù)結(jié)構(gòu)如下:</p><p> 3.3.5 用戶(hù)表</p><p> 由若干個(gè)系統(tǒng)操作員記錄構(gòu)成</p><p> 系統(tǒng)操作員記錄
40、的數(shù)據(jù)結(jié)構(gòu)如下:</p><p> 3.4 讀者借書(shū)過(guò)程的數(shù)據(jù)流圖和數(shù)據(jù)詞典</p><p> 3.4.1 數(shù)據(jù)流圖</p><p> 讀者借書(shū)過(guò)程數(shù)據(jù)流程如圖3.7所示。</p><p> 圖3.7 讀者借書(shū)過(guò)程</p><p> 3.4.2 數(shù)據(jù)詞典</p><p>
41、 1.數(shù)據(jù)源點(diǎn)及匯點(diǎn)描述:</p><p><b> ?、琶Q(chēng):讀者</b></p><p> 簡(jiǎn)要描述:借書(shū)、還書(shū)、查詢(xún)及登記注冊(cè)</p><p> 有關(guān)數(shù)據(jù)流:借書(shū)證;所借書(shū)本</p><p><b> ⑵名稱(chēng):日歷</b></p><p><b> 簡(jiǎn)
42、要描述:當(dāng)日日期</b></p><p><b> 有關(guān)數(shù)據(jù)流:年月日</b></p><p> 2.加工邏輯詞條描述:</p><p><b> ⑴加工名:借書(shū)檢驗(yàn)</b></p><p><b> 加工編號(hào):1</b></p><p&
43、gt; 簡(jiǎn)要描述:檢驗(yàn)讀者身份、圖書(shū)是否入庫(kù)、讀者還能借多少書(shū)以此判定讀者是否能借書(shū)</p><p> 輸入數(shù)據(jù)流:借書(shū)證;所借書(shū)本,讀者信息,圖書(shū)信息,圖書(shū)訪問(wèn)記錄,日期</p><p> 輸出數(shù)據(jù)流:借書(shū)錯(cuò)誤信息,借書(shū)信息</p><p> 加工邏輯:IF 借書(shū)證未登記入庫(kù) THEN</p><p><b> 發(fā)出“
44、借書(shū)錯(cuò)誤”</b></p><p> ELSE IF 圖書(shū)未登記入庫(kù) THEN</p><p><b> 發(fā)出“借書(shū)錯(cuò)誤”</b></p><p> ELSE IF 讀者已借圖書(shū)和現(xiàn)借圖書(shū)多于限制數(shù)N THEN</p><p><b> 發(fā)出“借書(shū)錯(cuò)誤”</b></p&g
45、t;<p> ELSE IF 讀者已借圖書(shū)中有超期 THEN</p><p><b> 發(fā)出“借書(shū)錯(cuò)誤”</b></p><p> ELSE 發(fā)出“借書(shū)信息”</p><p><b> ENDIF</b></p><p><b> ENDIF</b>&
46、lt;/p><p><b> ENDIF</b></p><p><b> ENDIF</b></p><p><b> ⑵加工名:借書(shū)登記</b></p><p><b> 加工編號(hào):2</b></p><p> 簡(jiǎn)要描述:
47、將“借書(shū)信息”登記到“圖書(shū)訪問(wèn)記錄庫(kù)圖書(shū)訪問(wèn)記錄”中,完成后將書(shū)本遞交讀者</p><p> 輸入數(shù)據(jù)流:借書(shū)信息,日期</p><p> 輸出數(shù)據(jù)流:圖書(shū)訪問(wèn)記錄,圖書(shū)</p><p> 加工邏輯:將借書(shū)信息及日期寫(xiě)入圖書(shū)訪問(wèn)記錄;</p><p> 3.數(shù)據(jù)流名詞條描述:</p><p><b>
48、 ?、艛?shù)據(jù)流名:借書(shū)證</b></p><p> 說(shuō)明:用以攜帶讀者的唯一識(shí)別標(biāo)識(shí)</p><p><b> 數(shù)據(jù)流來(lái)源:讀者</b></p><p> 數(shù)據(jù)流去向:借書(shū)檢驗(yàn)</p><p> 數(shù)據(jù)流組成:借書(shū)證=借書(shū)證號(hào)+姓名+聯(lián)系方法</p><p> 借書(shū)證號(hào)=“000
49、000001”..“999999999”</p><p> 姓名=2{字母}24</p><p> 聯(lián)系方法=4{字母}50</p><p><b> ?、茢?shù)據(jù)流名:圖書(shū)</b></p><p> 說(shuō)明:記錄圖書(shū)的主要相關(guān)信息</p><p><b> 數(shù)據(jù)流來(lái)源:讀者</
50、b></p><p> 數(shù)據(jù)流去向:借書(shū)檢驗(yàn)</p><p> 數(shù)據(jù)流組成:圖書(shū)=書(shū)號(hào)+書(shū)名+作者+出版社</p><p> 書(shū)號(hào)=“000000001”..“999999999”</p><p> 書(shū)名=2{字母}24</p><p> 作者=2{字母}24</p><p>
51、 出版社=2{字母}24</p><p> ⑶數(shù)據(jù)流名:檢驗(yàn)錯(cuò)誤</p><p> 說(shuō)明:用于指示讀者借書(shū)錯(cuò)誤信息</p><p> 數(shù)據(jù)流來(lái)源:借書(shū)檢驗(yàn)</p><p><b> 數(shù)據(jù)流去向:讀者</b></p><p> 數(shù)據(jù)流組成:檢驗(yàn)錯(cuò)誤=2{字母}40</p>&
52、lt;p> ?、葦?shù)據(jù)流名:借書(shū)信息</p><p> 說(shuō)明:用于傳遞讀者號(hào)和圖書(shū)號(hào)</p><p> 數(shù)據(jù)流來(lái)源:借書(shū)檢驗(yàn)</p><p> 數(shù)據(jù)流去向:借書(shū)登記</p><p> 數(shù)據(jù)流組成:借書(shū)信息=借書(shū)證號(hào)+書(shū)號(hào)</p><p><b> ⑸數(shù)據(jù)流名:日期</b></p
53、><p> 說(shuō)明:提供當(dāng)前日期信息</p><p><b> 數(shù)據(jù)流來(lái)源:日歷</b></p><p> 數(shù)據(jù)流去向:借書(shū)檢驗(yàn),借書(shū)登記</p><p> 數(shù)據(jù)流組成:日期=年+月+日</p><p> 年=“0000”..“9999”</p><p> 月=“01
54、”..“12”</p><p> 日=“01”..“31”</p><p> ?、蕯?shù)據(jù)流名:圖書(shū)訪問(wèn)記錄</p><p> 說(shuō)明:用于記錄讀者借書(shū)信息</p><p> 數(shù)據(jù)流來(lái)源:圖書(shū)訪問(wèn)記錄庫(kù),借書(shū)登記</p><p> 數(shù)據(jù)流去向:借書(shū)檢驗(yàn)</p><p> 數(shù)據(jù)流組成:圖書(shū)訪問(wèn)
55、記錄=書(shū)號(hào)+借閱證號(hào)+借書(shū)日期</p><p><b> 借書(shū)日期=日期</b></p><p> ?、藬?shù)據(jù)流名:讀者信息</p><p> 說(shuō)明:用于記錄登記入庫(kù)的讀者信息</p><p><b> 數(shù)據(jù)流來(lái)源:讀者庫(kù)</b></p><p> 數(shù)據(jù)流去向:借書(shū)檢驗(yàn)
56、</p><p> 數(shù)據(jù)流組成:讀者信息=借書(shū)證號(hào)+姓名+聯(lián)系方法</p><p> ?、虜?shù)據(jù)流名:圖書(shū)信息</p><p> 說(shuō)明:用于記錄登記入庫(kù)的圖書(shū)信息</p><p><b> 數(shù)據(jù)流來(lái)源:圖書(shū)庫(kù)</b></p><p> 數(shù)據(jù)流去向:借書(shū)檢驗(yàn)</p><p&
57、gt; 數(shù)據(jù)流組成:圖書(shū)信息=書(shū)號(hào)+書(shū)名+作者+出版社+價(jià)格+摘要+狀態(tài)</p><p> 4.數(shù)據(jù)文件詞條描述:</p><p> ?、艛?shù)據(jù)文件名:讀者庫(kù)</p><p><b> 簡(jiǎn)述:存放讀者信息</b></p><p><b> 輸入數(shù)據(jù):無(wú)</b></p><p
58、><b> 輸出數(shù)據(jù):讀者信息</b></p><p> 數(shù)據(jù)文件組成:讀者庫(kù)由“讀者信息”組成</p><p> ⑵數(shù)據(jù)文件名:圖書(shū)庫(kù)</p><p><b> 簡(jiǎn)述:存放圖書(shū)信息</b></p><p><b> 輸入數(shù)據(jù):無(wú)</b></p>
59、<p><b> 輸出數(shù)據(jù):圖書(shū)信息</b></p><p> 數(shù)據(jù)文件組成:圖書(shū)庫(kù)由“圖書(shū)信息”組成</p><p> ?、菙?shù)據(jù)文件名:圖書(shū)訪問(wèn)記錄庫(kù)</p><p> 簡(jiǎn)述:存放圖書(shū)訪問(wèn)記錄信息</p><p> 輸入數(shù)據(jù):圖書(shū)訪問(wèn)記錄</p><p> 輸出數(shù)據(jù):圖書(shū)訪問(wèn)
60、記錄</p><p> 數(shù)據(jù)文件組成:圖書(shū)訪問(wèn)記錄庫(kù)由“圖書(shū)訪問(wèn)記錄”組成</p><p> 3.5 讀者還書(shū)過(guò)程的數(shù)據(jù)流圖和數(shù)據(jù)詞典</p><p> 3.5.1 數(shù)據(jù)流圖</p><p> 讀者還書(shū)過(guò)程數(shù)據(jù)流程如圖3.8所示。</p><p> 圖3.8 讀者還書(shū)過(guò)程</p>&l
61、t;p> 3.5.2 數(shù)據(jù)詞典</p><p> 1.加工邏輯詞條描述:</p><p><b> ?、偶庸っ哼€書(shū)檢驗(yàn)</b></p><p><b> 加工編號(hào):3</b></p><p> 簡(jiǎn)要描述:檢驗(yàn)圖書(shū)是否圖書(shū)室外借圖書(shū)</p><p> 輸入數(shù)
62、據(jù)流:圖書(shū),圖書(shū)訪問(wèn)記錄</p><p> 輸出數(shù)據(jù)流:檢驗(yàn)錯(cuò)誤,還書(shū)信息</p><p> 加工邏輯:IF 書(shū)號(hào)與數(shù)據(jù)庫(kù)數(shù)據(jù)不符 THEN</p><p><b> 發(fā)出“檢驗(yàn)錯(cuò)誤”</b></p><p> ELSE 發(fā)出“還書(shū)信息”</p><p><b> ENDIF&
63、lt;/b></p><p><b> ?、萍庸っ哼€書(shū)登記</b></p><p><b> 加工編號(hào):4</b></p><p> 簡(jiǎn)要描述:刪除讀者對(duì)該圖書(shū)的借書(shū)信息,如果超期給出警告及天數(shù)</p><p> 輸入數(shù)據(jù)流:還書(shū)信息,日期</p><p>
64、輸出數(shù)據(jù)流:圖書(shū)訪問(wèn)紀(jì)錄,還書(shū)成功</p><p> 加工邏輯:IF 所還圖書(shū)超期 THEN</p><p><b> 統(tǒng)計(jì)超期天數(shù)</b></p><p> 生成含警告的返回信息</p><p> ELSE 刪除圖書(shū)訪問(wèn)記錄庫(kù)中相應(yīng)的借書(shū)記錄</p><p><b> 生成成
65、功信息</b></p><p><b> ENDIF</b></p><p><b> 給出還書(shū)返回信息</b></p><p> 2.數(shù)據(jù)流名詞條描述:</p><p> ?、艛?shù)據(jù)流名:還書(shū)信息</p><p> 說(shuō)明:用于傳遞圖書(shū)書(shū)號(hào)</p>
66、;<p> 數(shù)據(jù)流來(lái)源:還書(shū)檢驗(yàn)</p><p> 數(shù)據(jù)流去向:還書(shū)登記</p><p> 數(shù)據(jù)流組成:還書(shū)信息=書(shū)號(hào)</p><p> ⑵數(shù)據(jù)流名:還書(shū)成功</p><p> 說(shuō)明:用于通知還書(shū)成功</p><p> 數(shù)據(jù)流來(lái)源:還書(shū)登記</p><p><b&
67、gt; 數(shù)據(jù)流去向:讀者</b></p><p> 數(shù)據(jù)流組成:還書(shū)成功=2{字母}10</p><p> 數(shù)據(jù)文件詞條描述:(前面已描述)</p><p> 第四章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p> 4.1 圖書(shū)館管理信息系統(tǒng)主窗體的創(chuàng)建</p><p> 這個(gè)項(xiàng)目使用多文檔界面,
68、單擊工具欄中的ADD MDI Form按鈕,生成一個(gè)窗體。在這個(gè)窗體上添加所需的控件,窗體和控件的屬性設(shè)置見(jiàn)表4-1所示。</p><p> 表4-1 主窗體及其控件屬性設(shè)置</p><p> 在窗體中加入狀態(tài)欄控件,可以實(shí)時(shí)反映系統(tǒng)中各個(gè)狀態(tài)的變化。狀態(tài)欄控件需要在通常的屬性窗口中設(shè)置一般屬性,還需要在其特有的彈出式菜單中進(jìn)行設(shè)置。選中狀態(tài)欄控件,單擊鼠標(biāo)右鍵,選中Property
69、菜單,然后設(shè)置屬性。創(chuàng)建好的主窗體如圖4.1所示。</p><p> 圖4.1 圖書(shū)館管理系統(tǒng)主窗體</p><p> 在Visual Basic中使用公用模塊來(lái)存放整個(gè)工程項(xiàng)目公用函數(shù)、過(guò)程和全局變量等。這樣可以極大地提高代碼的效率。</p><p> 在錄入有關(guān)信息時(shí),需要回車(chē)來(lái)進(jìn)入下一個(gè)文本框,這樣對(duì)軟件使用者非常方便。在所有的功能模塊都需要這個(gè)函數(shù),
70、所以將它放在公用模塊中,代碼如下:</p><p> Public Sub EnterToTab(Keyasc As Integer)</p><p><b> ‘判斷是否為回車(chē)鍵</b></p><p> If Keyasc=13 Then</p><p><b> ‘轉(zhuǎn)換成Tab鍵</b&
71、gt;</p><p> SendKeys”{TAB}”</p><p><b> End If</b></p><p><b> End Sub</b></p><p> Keyasc用來(lái)保存當(dāng)前按鍵,SendKeys函數(shù)用來(lái)指定的按鍵。一旦單擊回車(chē)鍵,將返回Tab鍵,下一個(gè)控件自動(dòng)獲得輸
72、入焦點(diǎn)。</p><p> 添加全局變量,用來(lái)記錄各個(gè)窗體的讀寫(xiě)狀態(tài),代碼如下:</p><p> Pubic flagRTedit As Boolean</p><p> Pubic gintRTmode As Integer</p><p> Pubic flag Redit As Boolean</p><p
73、> Pubic gintRmode As Integer</p><p> Pubic flagBTedit As Boolean</p><p> Pubic gintBTmode As Integer</p><p> Pubic flagBedit As Boolean</p><p> Pubic gintBmode
74、As Integer</p><p> Pubic flagBOedit As Boolean</p><p> Pubic gintBOmode As Integer</p><p> Pubic flagBBedit As Boolean</p><p> Pubic gintBBmode As Integer</p>
75、<p> gintRTmode變量用來(lái)記錄是添加狀態(tài)還是修改狀態(tài),賦值1為添加,賦值2為修改。flagRTedit變量用來(lái)標(biāo)示是否進(jìn)入修改的窗體。其他全局變量同理。</p><p> 由于圖書(shū)館管理信息系統(tǒng)啟動(dòng)后,需要對(duì)用戶(hù)進(jìn)行判斷。如果登陸者是授權(quán)用戶(hù),將進(jìn)入系統(tǒng),否則將停止程序的執(zhí)行。這個(gè)判斷需要在系統(tǒng)運(yùn)行的最初進(jìn)行,因此將代碼放在公用模塊中。 </p><p>
76、 4.2 系統(tǒng)用戶(hù)管理模塊的創(chuàng)建</p><p> 系統(tǒng)啟動(dòng)后,將首先出現(xiàn)如圖4.2所示的窗體。 </p><p> 圖4.2 系統(tǒng)啟動(dòng)界面窗體圖</p><p> 點(diǎn)擊確定后將出現(xiàn)登錄窗體如圖4.3所示,用戶(hù)首先輸入用戶(hù)名,然后輸入密碼。如果用戶(hù)3次輸入的密碼不正確,將退出程序。</p><p> 圖4.3 用戶(hù)登錄窗體&
77、lt;/p><p> 用戶(hù)登錄窗體中放置了兩個(gè)文本框(TextBox),用來(lái)輸入用戶(hù)名和密碼;兩個(gè)按鈕(CommandButton)用來(lái)確定或者取消登錄;3個(gè)標(biāo)簽用來(lái)標(biāo)志窗體的信息。這些控件的屬性設(shè)置見(jiàn)表4-2所示。</p><p> 表4-2 登錄窗體中各個(gè)控件的屬性設(shè)置</p><p> 文本框txtPassword的PasswordChar屬性是用指定字符
78、來(lái)掩蓋用戶(hù)名輸入密碼。</p><p> 為窗體定義全局變量OK,用來(lái)判斷登錄是否成功;定義Cnt,用來(lái)記載輸入密碼的次數(shù),并且在載入窗體時(shí)初始化這兩個(gè)全局變量,代碼如下:</p><p><b> ‘強(qiáng)制變量聲明</b></p><p> Option Explicit</p><p> Pubic OK As
79、 Boolean</p><p><b> ‘記錄確定次數(shù)</b></p><p> Dim miscount As Integer</p><p> Private Sub Form_Load()</p><p><b> OK=False</b></p><p>
80、 miscount=0</p><p><b> End Sub</b></p><p> Option Explicit是用來(lái)規(guī)定所有變量使用前必須定義。這樣可以避免由于輸入錯(cuò)誤而產(chǎn)生的新變量。</p><p> 當(dāng)用戶(hù)輸入完用戶(hù)名和用戶(hù)密碼,單擊cmdOK按鈕將對(duì)用戶(hù)輸入信息進(jìn)行判斷。用戶(hù)單擊該按鈕,將觸發(fā)按鈕cmdOK的Click
81、事件,連接數(shù)據(jù)庫(kù)中用戶(hù)表如圖4.4所示。</p><p><b> 圖4.4 用戶(hù)表</b></p><p><b> 代碼如下:</b></p><p> Option Explicit</p><p> Dim cnt As Integer '記錄確定次數(shù)</p>
82、<p> Private Sub cmdCancle_Click()</p><p><b> Unload Me</b></p><p><b> End Sub</b></p><p> Private Sub cmdOK_Click()</p><p> Dim sql
83、As String</p><p> Dim rs_login As New ADODB.Recordset</p><p> Dim conn As New ADODB.Connection</p><p> conn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" &
84、App.Path & "\database.mdb"</p><p> If Trim(Text1.Text) = "" Then</p><p> MsgBox "用戶(hù)名不能為空,請(qǐng)重新輸入!"</p><p> Text1.SetFocus</p><p><
85、b> Else</b></p><p> sql = "select * from 用戶(hù)表 where user_ID='" & Trim(Text1.Text) & "'"</p><p> rs_login.Open sql, conn, adOpenKeyset, adLockPessim
86、istic</p><p> If rs_login.EOF = True Then</p><p> MsgBox "沒(méi)有這個(gè)用戶(hù),請(qǐng)重輸入!", vbOKOnly + vbExclamation, ""</p><p> Text1.Text = ""</p><p>
87、Text1.SetFocus</p><p><b> Else</b></p><p> username = Text1.Text</p><p> If Trim(rs_login.Fields(1)) = Trim(Text2.Text) Then</p><p><b> Unload Me&
88、lt;/b></p><p> frmMain.Show</p><p><b> Else</b></p><p> MsgBox "密碼不正確,請(qǐng)重輸入!", vbOKOnly + vbExclamation, ""</p><p> Text2.SetFocus
89、</p><p> Text2.Text = ""</p><p><b> End If</b></p><p><b> End If</b></p><p><b> End If</b></p><p> cnt =
90、 cnt + 1</p><p> If cnt = 3 Then</p><p><b> Unload Me</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p> Pri
91、vate Sub Form_Load()</p><p><b> cnt = 0</b></p><p><b> End Sub</b></p><p> 用戶(hù)如果沒(méi)有輸入用戶(hù)名和用戶(hù)密碼,將出現(xiàn)消息框給予提示。如果輸入的用戶(hù)名在用戶(hù)表中沒(méi)有找到,將提示重新輸入用戶(hù)名,文本框?qū)⒅匦芦@得輸入焦點(diǎn)。例如在圖4.3用戶(hù)
92、登錄窗體中的用戶(hù)名中輸入“100”,將在數(shù)據(jù)庫(kù)中用戶(hù)表中的user_ID中進(jìn)行匹配,如圖4.4用戶(hù)表所示,user_ID中沒(méi)有“100”,這時(shí)系統(tǒng)將出示提示框“沒(méi)有這個(gè)用戶(hù),請(qǐng)重新輸入”。如果用戶(hù)輸入用戶(hù)名正確而輸入的密碼不正確,文本框txtPassword將重新獲得輸入焦點(diǎn)。例如在圖4.3用戶(hù)登錄窗體中的用戶(hù)名中輸入“110”,密碼中輸入“1234”,將先對(duì)數(shù)據(jù)庫(kù)中用戶(hù)表的user_ID中的項(xiàng)進(jìn)行匹配,如圖4.4用戶(hù)表中所示,有“11
93、0”這一項(xiàng),用戶(hù)名匹配成功,接著將密碼“1234”與user_ID中“110”想對(duì)應(yīng)的mima中的項(xiàng)進(jìn)行匹配,發(fā)現(xiàn)與“110”所對(duì)應(yīng)的項(xiàng)是“3333”,密碼匹配不成功,這時(shí)系統(tǒng)將出示提示框“密碼不正確,請(qǐng)重新輸入”。當(dāng)所輸入的用戶(hù)名和密碼都在數(shù)據(jù)庫(kù)中的用戶(hù)表中匹配成功,用戶(hù)登陸成功,全局變量OK將被賦值為T(mén)rue;一旦三次輸入密碼均不正確,全局變量OK將被賦值False。公用模塊中的Main過(guò)程將根</p><p&g
94、t;<b> OK=False</b></p><p><b> Me.Hide</b></p><p> Me是Visual Basic中一個(gè)常用對(duì)象,用來(lái)指代當(dāng)前對(duì)象本身。</p><p> 4.3 添加讀者種類(lèi)窗體的創(chuàng)建</p><p> 添加讀者種類(lèi)窗體是在窗體上放置多個(gè)文本
95、框,用來(lái)輸入讀者種類(lèi)信息;兩個(gè)按鈕用來(lái)確定是否添加讀者種類(lèi)信息;多個(gè)標(biāo)簽用來(lái)提示文本框中需要輸入的內(nèi)容。</p><p> 用戶(hù)通過(guò)此窗體的使用可以很容易的添加讀者的種類(lèi),如圖4.5所示。</p><p> 圖4.5 添加讀者類(lèi)別窗體</p><p> 在載入窗體時(shí),將會(huì)連接數(shù)據(jù)庫(kù)當(dāng)中的讀者類(lèi)別表,如圖4.6所示。</p><p>
96、 圖4.6 讀者類(lèi)別表</p><p><b> 程序代碼如下:</b></p><p> Private Sub Command1_Click()</p><p> Dim sql As String</p><p> Dim conn As New ADODB.Connection</p>&
97、lt;p> Dim rs_readerstyle As New ADODB.Recordset</p><p> If Trim(Text1.Text) = "" Then</p><p> MsgBox "讀者種類(lèi)不能為空 ", vbOK0nly + vbExclamation, ""</p><
98、p> Text1.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> If Trim(Text2.Text) = "" Then</p><p> MsgBox "借書(shū)數(shù)
99、量不能為空", vbOK0nly + vbExclamation, ""</p><p> Text2.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> If Trim(Tex
100、t3.Text) = "" Then</p><p> MsgBox "借書(shū)期限不能為空", vbOK0nly + vbExclamation, ""</p><p> Text3.SetFocus</p><p><b> Exit Sub</b></p><
101、;p><b> End If</b></p><p> If Trim(Text4.Text) = "" Then</p><p> MsgBox "有限期限不能為空", vbOK0nly + vbExclamation, ""</p><p> Text4.SetFoc
102、us</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> 'Provider = "Microsoft.Jet.OLEDB.3.5.1 ;Persist Security Info=false;data source=D:\圖書(shū)管理系
103、統(tǒng)\database.mdb"</p><p> conn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" & App.Path & "\database.mdb"</p><p> sql = "select * from 讀者類(lèi)別 where 種類(lèi)
104、名稱(chēng)='" & Text1.Text & "'"</p><p> rs_readerstyle.Open sql, conn, adOpenKeyset, adLockPessimistic</p><p> If rs_readerstyle.EOF Then</p><p> rs_reade
105、rstyle.AddNew</p><p> rs_readerstyle.Fields(0) = Trim(Text1.Text)</p><p> rs_readerstyle.Fields(1) = Trim(Text2.Text)</p><p> rs_readerstyle.Fields(2) = Trim(Text3.Text)</p>
106、;<p> rs_readerstyle.Fields(3) = Trim(Text4.Text)</p><p> rs_readerstyle.Update</p><p> MsgBox "添加讀者類(lèi)別成功!", vbOKOnly, ""</p><p> rs_readerstyle.Close&
107、lt;/p><p><b> Else</b></p><p> MsgBox "讀者類(lèi)別重復(fù)!", vbOKOnly + vbExclamation, ""</p><p> Text1.SetFocus</p><p> Text1.Text = ""&
108、lt;/p><p> rs_readerstyle.Close</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private
109、Sub Command2_Click()</p><p><b> Unload Me</b></p><p><b> End Sub</b></p><p> 程序首先對(duì)是否輸入內(nèi)容進(jìn)行判斷,然后進(jìn)行格式判斷,接著添加數(shù)據(jù)到數(shù)據(jù)庫(kù)。最后根據(jù)狀態(tài)來(lái)顯示相應(yīng)的信息:如果是添加狀態(tài),將提示添加成功,然后重新顯示并清空所
110、有文本框,以便繼續(xù)添加記錄:如果處于修改狀態(tài),將提示修改成功,然后更新所有記錄的列表。</p><p> 4.4 查詢(xún)圖書(shū)信息與借書(shū)窗體的創(chuàng)建</p><p> 查詢(xún)圖書(shū)信息窗體可以使用戶(hù)方便快捷的得知書(shū)籍的基本信息,可以通過(guò)書(shū)名、編號(hào)、圖書(shū)類(lèi)別、作者、出版社進(jìn)行對(duì)圖書(shū)的基本信息的查詢(xún),如圖4.7所示。</p><p> 圖4.7 查詢(xún)書(shū)籍信息窗體&l
111、t;/p><p> 用戶(hù)設(shè)置查詢(xún)方式并輸入查詢(xún)內(nèi)容后,單擊“確定”按鈕后,將會(huì)連接到數(shù)據(jù)庫(kù)當(dāng)中的書(shū)籍信息表,如圖4.8所示。</p><p> 圖4.8 書(shū)籍信息表</p><p> 在如圖4.7查詢(xún)書(shū)籍信息窗體中,用戶(hù)可以選擇單一條件進(jìn)行查詢(xún),例如在復(fù)選框書(shū)名前單擊鼠標(biāo)左鍵,選定書(shū)名查詢(xún),然后在復(fù)選框書(shū)名中輸入你所要查詢(xún)的書(shū)籍名稱(chēng),點(diǎn)擊“確定”按鈕,如果所輸入
112、的書(shū)籍名稱(chēng)與數(shù)據(jù)庫(kù)中的“書(shū)籍信息表”中的書(shū)名項(xiàng)中相匹配,那么所有符合查詢(xún)條件的書(shū)籍信息都將出現(xiàn)在如圖4.7查詢(xún)書(shū)籍信息窗體中的文本框中;如果所輸入的書(shū)籍名稱(chēng)與數(shù)據(jù)庫(kù)中的“書(shū)籍信息表”中的書(shū)名項(xiàng)中不匹配,系統(tǒng)將出示提示框“查詢(xún)不到該圖書(shū)信息”。用戶(hù)也可以選擇使用多項(xiàng)條件查詢(xún),多項(xiàng)條件查詢(xún)可以更準(zhǔn)確的查找到用戶(hù)所需要的書(shū)籍信息。例如可以選定復(fù)選框中的“書(shū)名”、“編號(hào)”、“作者”,然后輸入相應(yīng)的查詢(xún)內(nèi)容,這時(shí)將對(duì)數(shù)據(jù)庫(kù)中“書(shū)籍信息表”中的“圖
113、書(shū)編號(hào)”、“書(shū)名”、“作者”各項(xiàng)進(jìn)行匹配,如果匹配成功,那么所有符合查詢(xún)條件的書(shū)籍信息都將出現(xiàn)在如圖4.7查詢(xún)書(shū)籍信息窗體中的文本框中;如果所輸入的書(shū)籍名稱(chēng)與數(shù)據(jù)庫(kù)中的“書(shū)籍信息表”中的“圖書(shū)編號(hào)”、“書(shū)名”、“作者”各項(xiàng)匹配不成功,系統(tǒng)將出示提示框“查詢(xún)不到該圖書(shū)信息”,注意,在使用多項(xiàng)條件查詢(xún)時(shí),在所選復(fù)選框中有一項(xiàng)沒(méi)有和數(shù)據(jù)庫(kù)中“書(shū)籍信息表”中對(duì)應(yīng)項(xiàng)匹配失敗,系統(tǒng)都將出示</p><p><b>
114、 程序代碼如下:</b></p><p> Option Explicit</p><p> Dim panduan As String</p><p> Private Sub Command1_Click()</p><p> Dim rs_findbook As New ADODB.Recordset</p&
115、gt;<p> Dim conn As New ADODB.Connection</p><p> Dim sql As String</p><p> If Check1.Value = vbChecked Then</p><p> sql = "書(shū)名='" & Trim(Text1.Text &
116、 "") & "'"</p><p><b> End If</b></p><p> If Check2.Value = vbChecked Then</p><p> If Trim(sql) = "" Then</p><p> s
117、ql = "類(lèi)別='" & Trim(Combo1.Text & " ") & "'"</p><p><b> Else</b></p><p> sql = sql & "and 類(lèi)別='" & Trim(Combo1
118、.Text & " ") & "'"</p><p><b> End If</b></p><p><b> End If</b></p><p> If Check3.Value = vbChecked Then</p><p&g
119、t; If Trim(sql) = "" Then</p><p> sql = "作者='" & Trim(Text2.Text & " ") & "'"</p><p><b> Else</b></p><p>
120、 sql = sql & "and 作者='" & Trim(Text2.Text & " ") & "'"</p><p><b> End If</b></p><p><b> End If</b></p><
121、p> If Check4.Value = vbChecked Then</p><p> If Trim(sql) = "" Then</p><p> sql = "圖書(shū)編號(hào)='" & Trim(Text3.Text & " ") & "'"</p&g
122、t;<p><b> Else</b></p><p> sql = sql & "and 圖書(shū)編號(hào)='" & Trim(Text3.Text & " ") & "'"</p><p><b> End If</b>&l
123、t;/p><p><b> End If</b></p><p> If Check5.Value = vbChecked Then</p><p> If Trim(sql) = "" Then</p><p> sql = "出版社='" & Trim(Te
124、xt4.Text & " ") & "'"</p><p><b> Else</b></p><p> sql = sql & "and 出版社='" & Trim(Text4.Text & " ") & "&
125、#39;"</p><p><b> End If</b></p><p><b> End If</b></p><p> conn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" & App.Path & &
126、quot;\database.mdb"</p><p> If Trim(sql) = "" Then</p><p> MsgBox "請(qǐng)選擇查詢(xún)方式!", vbOKOnly + vbExclamation</p><p><b> Exit Sub</b></p><
127、;p><b> End If</b></p><p> sql = "select * from 書(shū)籍信息 where " & sql</p><p> rs_findbook.CursorLocation = adUseClient</p><p> rs_findbook.Open sql, con
128、n, adOpenKeyset, adLockPessimistic</p><p> DataGrid1.AllowAddNew = False</p><p> DataGrid1.AllowDelete = False</p><p> DataGrid1.AllowUpdate = False</p><p> If rs_f
129、indbook.RecordCount = 0 Then</p><p> MsgBox "查詢(xún)不到該圖書(shū)信息!", vbOKOnly + vbExclamation</p><p><b> Else</b></p><p> Set DataGrid1.DataSource = rs_findbook</p&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書(shū)管理系統(tǒng)畢業(yè)論文3
- 圖書(shū)管理系統(tǒng)畢業(yè)論文 (3)
- 圖書(shū)管理系統(tǒng)畢業(yè)論文 (3)
- 圖書(shū)管理系統(tǒng)畢業(yè)論文3
- 圖書(shū)管理系統(tǒng)畢業(yè)論文 (3)
- 畢業(yè)論文——圖書(shū)管理系統(tǒng)設(shè)計(jì) (3)
- 畢業(yè)論文--圖書(shū)管理系統(tǒng)
- 畢業(yè)論文-圖書(shū)管理系統(tǒng)
- 圖書(shū)管理系統(tǒng)畢業(yè)論文
- 圖書(shū)管理系統(tǒng)畢業(yè)論文
- 圖書(shū)管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-圖書(shū)管理系統(tǒng)
- 圖書(shū)管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——圖書(shū)管理系統(tǒng)
- 圖書(shū)管理系統(tǒng) 畢業(yè)論文
- 圖書(shū)管理系統(tǒng)畢業(yè)論文
- 圖書(shū)管理系統(tǒng)畢業(yè)論文
- 圖書(shū)管理系統(tǒng)畢業(yè)論文
- 圖書(shū)管理系統(tǒng)畢業(yè)論文
- 圖書(shū)管理系統(tǒng)-畢業(yè)論文
評(píng)論
0/150
提交評(píng)論