圖書(shū)管理系統(tǒng)畢業(yè)論文7_第1頁(yè)
已閱讀1頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  畢業(yè)設(shè)計(jì)(論文)中文摘要</p><p><b>  圖書(shū)管理系統(tǒng)</b></p><p><b>  作 者: </b></p><p><b>  指導(dǎo)老師:</b></p><p>  摘要:圖書(shū)管理系統(tǒng)是典型的計(jì)算機(jī)信息管理系統(tǒng)(MIS),其

2、開(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)。本管理系統(tǒng)包括了系統(tǒng)登錄、讀者管理、書(shū)籍管理、借閱信息管理四個(gè)總的功能塊。在各個(gè)功能塊中又具體包括了讀者種類信息管理、讀者信息管理、書(shū)籍類別管理、書(shū)籍信息管理、借書(shū)信息管理、還書(shū)信息管理功能。使用戶方便的對(duì)圖書(shū)館的信息進(jìn)行管理,為讀者借閱還書(shū)的節(jié)省了大量的時(shí)間。

3、 經(jīng)過(guò)分析,我使用 MICROSOFT公司的 VISUAL BASIC開(kāi)發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_(kāi)發(fā)工具,尤其是數(shù)據(jù)窗口這一功能方便而簡(jiǎn)潔操縱數(shù)據(jù)庫(kù)的智能化對(duì)象,首先在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對(duì)初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的可行系統(tǒng)。</p><p>  關(guān)鍵字:圖書(shū)管理系統(tǒng)、數(shù)據(jù)庫(kù)、VISUAL BASIC、窗體、SOL2000。</p><p

4、><b>  Abstract</b></p><p>  Abstract:Books management system is the typical computer information management system (MIS), its development mainly includes the backstage database the establishme

5、nt and the maintenance as well as front end the application procedure development two aspects. Establishes the data uniformity and the integrity regarding former request is strong, the data security good storehouse. But

6、requests the application procedure function regarding latter completely, is easy to use and so on the characteristic</p><p>  After the analysis, I use MICROSOFT Corporation VISUAL the BASIC development kit,

7、 uses each kind of object-oriented development kit which it provides, the data window this function convenience but succinctly operates the database in particular the intellectualized object, first establishes the system

8、 application prototype in the short time, then, carries on the demand iteration to the initial prototype system, unceasingly revises and the improvement, until forms user satisfaction the feasible sy</p><p>

9、  Key words : books management system management system, database, VISUAL BASIC, Window, SOL2000</p><p>  目錄 </p><p><b>  摘要1</b></p><p>  Abstract………

10、………………………………………...…………………. 1</p><p><b>  前言1</b></p><p>  第一章 圖書(shū)管理信息系統(tǒng)的問(wèn)題1</p><p>  1.1 圖書(shū)管理信息系統(tǒng)的簡(jiǎn)介1</p><p>  1.2 圖書(shū)管理信息系統(tǒng)的用戶需求1</p><p>  

11、1.3 圖書(shū)管理信息系統(tǒng)功能分析1</p><p>  1.4 圖書(shū)管理信息系統(tǒng)功能模塊設(shè)計(jì)2</p><p>  第二章 圖書(shū)管理信息系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)3</p><p>  2.1 數(shù)據(jù)庫(kù)的需求分析3</p><p>  2.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)4</p><p>  2.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的實(shí)現(xiàn)5&

12、lt;/p><p>  第三章 圖書(shū)管理信息系統(tǒng)的開(kāi)發(fā)環(huán)境9</p><p>  3.1 圖書(shū)管理信息系統(tǒng)的開(kāi)發(fā)語(yǔ)言簡(jiǎn)介9</p><p>  3.1.1 開(kāi)發(fā)環(huán)境的選擇10</p><p>  3.2 數(shù)據(jù)庫(kù)環(huán)境的選擇10</p><p>  3.3 VB語(yǔ)言和函數(shù)10</p><p>

13、;  3.4 Active數(shù)據(jù)對(duì)象——ADO11</p><p>  3.4.1 ADO的編程模型11</p><p>  3.4.2 ADO的對(duì)象模型12</p><p>  3.4.3、為項(xiàng)目添加ADO13</p><p>  3.5 與數(shù)據(jù)庫(kù)的連接性14</p><p>  第四章 圖書(shū)管理信息系統(tǒng)的

14、具體實(shí)現(xiàn)15</p><p>  4.1 系統(tǒng)客戶端程序16</p><p>  4.2 系統(tǒng)用戶管理模塊的創(chuàng)建17</p><p>  4.3 讀者種類管理模塊的創(chuàng)建18</p><p>  4.4 讀者信息管理模塊的創(chuàng)建21</p><p>  4.5 書(shū)籍類別管理模塊的創(chuàng)建24</p>

15、<p>  4.6 書(shū)籍信息管理模塊的創(chuàng)建26</p><p>  4.7 借書(shū)信息管理創(chuàng)建28</p><p>  4.8 還書(shū)信息管理創(chuàng)建28</p><p>  4.8 圖書(shū)管理系統(tǒng)的實(shí)現(xiàn)29</p><p>  第五章 系統(tǒng)測(cè)試與系統(tǒng)性能分析30</p><p><b>  結(jié)束

16、語(yǔ)32</b></p><p><b>  參考文獻(xiàn)32</b></p><p><b>  致 謝34</b></p><p><b>  前 言</b></p><p>  隨著人類社會(huì)的發(fā)展,人類知識(shí)不斷地增長(zhǎng)、擴(kuò)大。書(shū)籍就漸漸地成為人們獲取、增長(zhǎng)

17、知識(shí)的主要途徑,而圖書(shū)館就自然而然地在人們的生活中占據(jù)了一定的位置。在圖書(shū)館方面,就必然面臨著一個(gè)問(wèn)題:怎樣才能科學(xué)、有效的把圖書(shū)館里圖書(shū)管理好?又如何知道被借圖書(shū)為何人所借?所借圖書(shū)什么時(shí)候歸還?又如何從借書(shū)者那里得到圖書(shū)的信息。這些問(wèn)題直接關(guān)系到讀者求知的方便程度,也關(guān)系到圖書(shū)館的發(fā)展。本系統(tǒng)以以上問(wèn)題為依據(jù),對(duì)所提問(wèn)題給予一一的解決。在現(xiàn)代社會(huì)中,計(jì)算機(jī)已經(jīng)在各行各業(yè)發(fā)揮著重要的作用,用計(jì)算機(jī)來(lái)管理已經(jīng)成為必然的結(jié)果。圖書(shū)館也不例

18、外,在圖書(shū)館的管理過(guò)程中,同樣也必需使用計(jì)算機(jī)來(lái)輔助管理。有了計(jì)算機(jī)的輔助管理,必然要有一套較完善的計(jì)算機(jī)處理系統(tǒng)(圖書(shū)管理系統(tǒng))來(lái)管理圖書(shū),這樣才能科學(xué)、有效的對(duì)圖書(shū)進(jìn)行管理</p><p>  利用圖書(shū)管理系統(tǒng)進(jìn)行管理,能更有效的對(duì)圖書(shū)進(jìn)行系統(tǒng)管理,方便讀者對(duì)各類圖書(shū)的查詢,同時(shí)也大大提高了辦理借書(shū)、還書(shū)手續(xù)方面的工作效率和提高圖書(shū)館的服務(wù)效率,為讀者提供方便。針對(duì)上述情況,本人開(kāi)發(fā)了一套圖書(shū)管理專業(yè)軟件--

19、圖書(shū)管理系統(tǒng),該系統(tǒng)并不針對(duì)某一個(gè)圖書(shū)館而開(kāi)發(fā),所以在小型方面相對(duì)較廣些。相對(duì)于同類軟件來(lái)說(shuō),該系統(tǒng)功能較齊全,集合了圖書(shū)館從進(jìn)書(shū)、查詢、借書(shū)、還書(shū)、罰金等多種功能,同時(shí)讀者可以對(duì)圖書(shū)的情況有個(gè)具體的了解,圖書(shū)管理員也可以對(duì)某一圖書(shū)的具體情況有個(gè)充分的了解,對(duì)其圖書(shū)管理有很好的掌握。在操作方面也比較方便,界面也較友好。在數(shù)據(jù)庫(kù)方面,該系統(tǒng)采用SQL Server2000數(shù)據(jù)庫(kù)系統(tǒng),在安全性方面也有了較大的提高。與傳統(tǒng)的手工作業(yè)相比,它大

20、大提高了工作效率,而且系統(tǒng)采用人機(jī)對(duì)話方式,菜單提示,界面友好、操作簡(jiǎn)單,實(shí)現(xiàn)開(kāi)架借。</p><p>  第一章 圖書(shū)管理信息系統(tǒng)的問(wèn)題</p><p>  1.1 圖書(shū)管理系統(tǒng)的簡(jiǎn)介</p><p>  圖書(shū)管理系統(tǒng)是針對(duì)圖書(shū)館的大量業(yè)務(wù)處理工作而開(kāi)發(fā)的管理軟件。根據(jù)用戶的要求,實(shí)現(xiàn)借閱管理、讀者管理、和圖書(shū)管理,等幾個(gè)方面的功能。</p>&l

21、t;p>  本軟件是為了規(guī)范單位的圖書(shū)館日常運(yùn)作,加強(qiáng)圖書(shū)借閱的信息管理而開(kāi)發(fā)設(shè)計(jì)的。時(shí)間比較倉(cāng)促,肯定存在許多問(wèn)題,同時(shí)將邊運(yùn)行邊修改與完善,使其更好的服務(wù)于圖書(shū)館的日常管理,滿足圖書(shū)館管理方面的各種需要。      </p><p>  本軟件界面友好,操作簡(jiǎn)單,小巧實(shí)用,運(yùn)行穩(wěn)定,自動(dòng)化程度較高,具備多種功能,能滿足一般小型圖書(shū)室的日常管理需要??蛇M(jìn)行

22、書(shū)籍、讀者、借書(shū)和還書(shū)等信息的錄入、修改與刪除,同時(shí)提供靈活豐富的查詢,更好是對(duì)圖書(shū)的具體行蹤能提供跟準(zhǔn)確的位置等功能,方便統(tǒng)計(jì)匯總。對(duì)借書(shū)者所借書(shū)是否被借,被何人所借,借書(shū)者的姓名、地址、聯(lián)系方式,何時(shí)歸還等等經(jīng)查詢即可知曉。本系統(tǒng)以此為目的,開(kāi)發(fā)了相應(yīng)的數(shù)據(jù)庫(kù)與工作界面,以完成以上功能。</p><p>  1.2 圖書(shū)理理系統(tǒng)的用戶需求</p><p>  1.2.1 總體功能需求&

23、lt;/p><p>  圖書(shū)管理系統(tǒng)是針對(duì)圖書(shū)館的大量業(yè)務(wù)處理工作用計(jì)算機(jī)進(jìn)行全面現(xiàn)代化管理.主要包括讀者管理、書(shū)籍管理、和借閱信息管理, 等幾個(gè)方面的功能,以實(shí)現(xiàn)用戶方便的借書(shū).還書(shū).查詢所需書(shū)籍等需求。</p><p>  具體系統(tǒng)功能需求描述</p><p><b>  (1)讀者管理</b></p><p>  讀者

24、管理可分為讀者種類管理和讀者信息管理,可完成對(duì)讀者種類的添加.修改.刪除功能;以及完成對(duì)讀者信息的添加.修改.刪除.查詢功能。</p><p><b>  (2) 書(shū)籍管理</b></p><p>  書(shū)籍管理包括書(shū)籍類別管理和書(shū)籍信息管理,可完成對(duì)書(shū)籍類別的添加.修改.刪除功能;以及完成對(duì)書(shū)籍信息的添加.修改.刪除.查詢功能。 </p><p&g

25、t;  (3) 借閱信息管理</p><p>  借閱信息管理包括借書(shū)信息管理和還書(shū)信息管理,借書(shū)信息管理要完</p><p>  成對(duì)所借書(shū)籍的添加.修改.刪除.查詢功能;還書(shū)信息管理要完成對(duì)所還書(shū)籍的添加.修改.刪除功能。</p><p>  (4) 數(shù)據(jù)備份管理</p><p>  管理員能對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)備份與數(shù)據(jù)恢復(fù)功能。</p

26、><p>  1.3 圖書(shū)管理信息系統(tǒng)功能分析</p><p>  系統(tǒng)開(kāi)發(fā)的總?cè)蝿?wù)是實(shí)現(xiàn) 圖書(shū)館管理信息關(guān)系的系統(tǒng)化、規(guī)范化和自動(dòng)化。系統(tǒng)功能分析是在系統(tǒng)開(kāi)發(fā)的總體任務(wù)的基礎(chǔ)上完成的,本系統(tǒng)的需要完成功能主要有:</p><p>  有關(guān)讀者種類標(biāo)準(zhǔn)的制定、種類信息的輸入,包括種類編號(hào)、種類名稱、借書(shū)數(shù)量、借書(shū)期限、有效期限等。</p><p>

27、;  讀者種類信息的修改,包括類別名稱,借書(shū)數(shù)量,借書(shū)期限,有效期限等。</p><p>  讀者基本信息的輸入,包括讀者編號(hào)、讀者姓名、讀者種類、讀者性別、工作單位、家庭住址、電話號(hào)碼、辦證日期等。</p><p>  書(shū)籍類別標(biāo)準(zhǔn)的制定、類別信息的輸入,包括類別編號(hào)、類別名稱。</p><p>  書(shū)籍類別的修改,包括類別編號(hào)、類別名稱。</p>

28、<p>  書(shū)籍信息的輸入,包括書(shū)籍編號(hào)、書(shū)籍名稱、書(shū)籍類別、作者姓名、出版社名稱、出版日期、書(shū)籍價(jià)格、登記日期、是否借出等。</p><p>  書(shū)籍信息的查詢,包括書(shū)籍編號(hào)、書(shū)籍名稱、書(shū)籍類別、作者姓名、出版社名稱、出版日期、書(shū)籍價(jià)格、登記日期等。</p><p>  書(shū)籍信息的修改,包括借書(shū)信息編號(hào)、讀者編號(hào)、讀者姓名、書(shū)籍編號(hào)、書(shū)籍名稱、借書(shū)日期、是否借出等。</p

29、><p>  借書(shū)信息的查詢、修改,包括借書(shū)信息編號(hào)、讀者編號(hào)、讀者姓名、書(shū)籍編號(hào)、書(shū)籍名稱、借書(shū)日期等。</p><p>  還書(shū)信息的輸入,包括還書(shū)信息編號(hào)、讀者編號(hào)、讀者姓名、書(shū)籍編號(hào)、書(shū)籍名稱、借書(shū)日期、還書(shū)日期等。</p><p>  書(shū)籍罰金信息的輸入,包括丟失書(shū)籍罰金。丟失書(shū)籍罰金包括書(shū)籍編號(hào)、書(shū)籍名稱、書(shū)籍價(jià)格和賠償圖書(shū)的金額。</p>&

30、lt;p>  1.4 圖書(shū)管理信息系統(tǒng)功能模塊設(shè)計(jì)</p><p>  對(duì)上述各項(xiàng)功能進(jìn)行集中、分塊,按照結(jié)構(gòu)化程序設(shè)計(jì)的要求,得到下圖所示的系統(tǒng)功能模塊圖:</p><p>  系統(tǒng)功能模塊圖(圖1-1)</p><p>  第二章 圖書(shū)管理信息系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)</p><p>  數(shù)據(jù)庫(kù)在信息管理系統(tǒng)中有著很重要的地位,合理的數(shù)據(jù)

31、庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)儲(chǔ)存的效率,保證數(shù)據(jù)的完整和一致,有利于程序的實(shí)現(xiàn)。設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)應(yīng)該首先充分了解用戶各個(gè)方面的要求,包括現(xiàn)有的以及將來(lái)可能增加的需求。數(shù)據(jù)庫(kù)設(shè)計(jì)一般包括如下幾個(gè)步驟:</p><p><b>  數(shù)據(jù)庫(kù)需要分析。</b></p><p>  數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)。</p><p>  數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)。</p&g

32、t;<p>  2.1 數(shù)據(jù)庫(kù)的需求分析</p><p>  用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸出和輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。</p><p>  仔細(xì)分析調(diào)查有關(guān)圖書(shū)館管理信息需求的基礎(chǔ)上,得到下圖所示的本系統(tǒng)所處理的數(shù)據(jù)流程:</p&g

33、t;<p>  圖書(shū)管理信息系統(tǒng)數(shù)據(jù)流程圖(圖2-1)</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>  讀者種類信息,包括的數(shù)據(jù)項(xiàng)有:種類編號(hào)、種類名稱、借書(shū)數(shù)量、借書(shū)期限、有效期限等。</p><p>  讀者信息,包括的數(shù)據(jù)項(xiàng)有:讀者編號(hào)、讀者

34、姓名、讀者種類、讀者性別、工作單位、家庭住址、電話號(hào)碼、辦證日期等。</p><p>  書(shū)籍類別信息,包括的數(shù)據(jù)項(xiàng)有:類別編號(hào)、類別名稱、關(guān)鍵詞、備注信息等。</p><p>  書(shū)籍信息,包括的數(shù)據(jù)項(xiàng)有:書(shū)籍編號(hào)、書(shū)籍名稱、書(shū)籍類別、作者姓名、出版社名稱、出版日期、書(shū)籍頁(yè)數(shù)、關(guān)鍵詞、登記日期等。</p><p>  借閱信息,包括的數(shù)據(jù)項(xiàng)有:借閱信息編號(hào)、讀者編

35、號(hào)、讀者姓名、書(shū)籍編號(hào)、書(shū)籍名稱、借書(shū)日期、還書(shū)日期等。</p><p>  2.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p>  采用SQL Sever 2000來(lái)完成圖書(shū)管理信息系統(tǒng)的數(shù)據(jù)庫(kù),需將上面的數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)轉(zhuǎn)化為SQL的數(shù)據(jù)庫(kù)所支持的實(shí)際數(shù)據(jù)模型,這也就是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。</p><p>  圖書(shū)管理信息管理系統(tǒng)數(shù)據(jù)庫(kù)中的表格的設(shè)計(jì)結(jié)果有以下的表格所表

36、示,這些表格表示在數(shù)據(jù)庫(kù)中的一個(gè)表:</p><p>  readertypetable 讀者種類信息表</p><p>  表中內(nèi)容有:讀者種類編號(hào)、讀者種類名稱、借書(shū)數(shù)量、借書(shū)期限、有效期限。</p><p>  readertable 讀者信息表格</p><p>  表中內(nèi)容有:readertype中的所有內(nèi)容、讀者編號(hào)、讀者姓

37、名、讀者性別、電話號(hào)碼、辦證日期、工作單位、家庭住址。</p><p>  booktypetable 書(shū)籍類別信息表</p><p>  表中內(nèi)容有:書(shū)籍類別編號(hào)、書(shū)籍類別名稱、關(guān)鍵詞、。</p><p>  booktable 書(shū)籍信息表</p><p>  表中內(nèi)容有:書(shū)籍名稱、書(shū)籍類別、作者姓名、出版社名稱、出版日期、書(shū)籍頁(yè)

38、數(shù)、登記日期。</p><p>  lendbooktable 借閱信息表</p><p>  表中內(nèi)容有:包括booktable表中的書(shū)籍名稱、書(shū)籍類別、作者姓名、出版社、書(shū)籍備注信息,以及讀者信息中的讀者編號(hào)、讀者姓名、讀者種類、借書(shū)日期。</p><p>  2.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的實(shí)現(xiàn)</p><p>  2.3.1 數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)

39、數(shù)據(jù)庫(kù)設(shè)計(jì)主要是進(jìn)行數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì),即將數(shù)據(jù)按一定的分類、分組系統(tǒng)和邏輯層次組織起來(lái),是面向用戶的。數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)需要綜合企業(yè)各個(gè)部門的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個(gè)數(shù)據(jù)之間的關(guān)系,按照DBMS提供的功能和描述工具,設(shè)計(jì)出規(guī)模適當(dāng)、正確反映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿足多種查詢要求的數(shù)據(jù)模型。數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟是:(1) 數(shù)據(jù)庫(kù)結(jié)構(gòu)定義:目前的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)有的是支持聯(lián)機(jī)事務(wù)處理CLTP(負(fù)責(zé)對(duì)事務(wù)數(shù)據(jù)進(jìn)

40、行采集、處理、存儲(chǔ))的操作型DBMS,有的可支持?jǐn)?shù)據(jù)倉(cāng)庫(kù)、有聯(lián)機(jī)分析處理CLAP(指為支持決策的制定對(duì)數(shù)據(jù)的一種加工操作)功能的大型DBMS,有的數(shù)據(jù)庫(kù)是關(guān)系型的、有的可支持面向?qū)ο髷?shù)據(jù)庫(kù)。針對(duì)選擇的DBMS,進(jìn)行數(shù)據(jù)庫(kù)結(jié)構(gòu)定義。(2) 數(shù)據(jù)表定義:數(shù)據(jù)表定義指定義數(shù)據(jù)庫(kù)中數(shù)據(jù)表的結(jié)構(gòu),數(shù)據(jù)表的邏輯結(jié)構(gòu)包括:屬性名稱、類型、表示形式、缺省值、校驗(yàn)規(guī)則、是否關(guān)鍵字、可否為空等。關(guān)系型數(shù)據(jù)庫(kù)要盡量按關(guān)系規(guī)范化要求進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì),

41、但為使效率高,規(guī)范化程度應(yīng)根據(jù)應(yīng)用環(huán)境和條件來(lái)決定。數(shù)據(jù)表設(shè)計(jì)不僅要滿足數(shù)據(jù)存儲(chǔ)的要求,還要增加一些如反映有關(guān)信</p><p>  2.3.2  數(shù)據(jù)庫(kù)設(shè)計(jì)范式分析</p><p>  第一范式(first normal form,簡(jiǎn)稱1st NF)就是指在同一表中沒(méi)有重復(fù)項(xiàng)出現(xiàn),如果有則應(yīng)將重復(fù)項(xiàng)去掉。這個(gè)去掉重復(fù)項(xiàng)的過(guò)程就稱之為規(guī)范化處理。在本文所討論的開(kāi)發(fā)方法里,1st

42、NF實(shí)際上是沒(méi)有什么意義的。因?yàn)槲覀儼匆?guī)范化建立的指標(biāo)體系和表的過(guò)程都自動(dòng)保證了所有表都滿足1st NF。 第二范式(second normal form,簡(jiǎn)稱 2nd NF)是指每個(gè)表必須有一個(gè)(而且僅一個(gè))數(shù)據(jù)元素為主關(guān)鍵字(primary key),其它數(shù)據(jù)元素與主關(guān)鍵字一一對(duì)應(yīng)。例如,在圖l9.7中如果我們將讀者姓名定義為主關(guān)鍵字(其它數(shù)據(jù)元素中的記錄數(shù)據(jù)都有可能重名,故不能作為主關(guān)鍵字),故只要知道了讀者一個(gè)記錄就知

43、道一個(gè)圖書(shū)的記錄或者是借書(shū)的記錄,就可以唯一地在同一行中找到該姓名的任何一項(xiàng)具體信息。通常我們稱這種關(guān)系為函數(shù)依賴(functional depEndence)關(guān)系。即表中其它數(shù)據(jù)元素都依賴于主關(guān)鍵字,或稱該數(shù)據(jù)元素唯一地被主關(guān)鍵字所標(biāo)識(shí)。本系統(tǒng)的查詢功能等性能都運(yùn)用了第二范式。 第三范式(third normal form,簡(jiǎn)稱 3rd NF)就是指表中</p><p>  2.3.3 數(shù)據(jù)表的設(shè)計(jì)&

44、lt;/p><p>  經(jīng)過(guò)前面的需求分析和概念結(jié)構(gòu)設(shè)計(jì)以后,得到數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。然后用SQL server 2000 數(shù)據(jù)庫(kù)系統(tǒng)中的SQL企業(yè)管理器實(shí)現(xiàn)該邏輯結(jié)構(gòu)。下面是就用戶表格、讀者種類信息表格、讀者信息表格、書(shū)籍類別信息表格的SQL語(yǔ)句舉例如下:</p><p>  readertypetable 讀者種類信息表(圖2-3)</p><p>  readert

45、able 讀者信息表格(圖2-4)</p><p>  booktypetable 書(shū)籍類別信息表(圖2-5)</p><p>  bookstable 書(shū)籍信息表(圖2-6)</p><p>  lendbooktable借閱信息表(圖2-7)</p><p>  在圖2-7中如果我們將讀者姓名定義為主關(guān)鍵字(其它數(shù)據(jù)元素中的記錄

46、數(shù)據(jù)都有可能重名,故不能作為主關(guān)鍵字),故只要知道了讀者一個(gè)記錄就知道一個(gè)圖書(shū)的記錄或者是借書(shū)的記錄,就可以唯一地在同一行中找到該姓名的任何一項(xiàng)具體信息,依賴讀者姓名即可聯(lián)系表與表的連接。本系統(tǒng)性能都運(yùn)用了第二范式。</p><p>  得到上面的各項(xiàng)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體,以及他們之間的關(guān)系,為以后的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。</p><p>  根據(jù)上

47、面的設(shè)計(jì)規(guī)劃出的實(shí)體有:讀者類別信息實(shí)體、讀者信息實(shí)體、書(shū)籍類別信息實(shí)體、書(shū)籍信息實(shí)體、借閱信息實(shí)體。由于上面已經(jīng)介紹了各個(gè)實(shí)體的包含內(nèi)容,這里就不在對(duì)每個(gè)實(shí)體的E-R圖做介紹。現(xiàn)介紹各個(gè)實(shí)體之間的相互關(guān)系E-R圖如下:</p><p><b>  圖2-2</b></p><p>  第三章 圖書(shū)管理信息系統(tǒng)的開(kāi)發(fā)環(huán)境</p><p>  

48、3.1 圖書(shū)理信息系統(tǒng)的開(kāi)發(fā)語(yǔ)言簡(jiǎn)介</p><p>  3.1.1 開(kāi)發(fā)環(huán)境的選擇</p><p>  Microsoft公司推出Windows以后,立即以其新穎的圖形用戶界面、卓越的多任務(wù)操作系統(tǒng)性能、高層次的軟件開(kāi)發(fā)平臺(tái)而風(fēng)靡全球。尤其是Office使用軟件的方便使用使許多應(yīng)用人員想到手動(dòng)的設(shè)計(jì)Windows用戶界面。然而由于對(duì)于程序員來(lái)說(shuō),工作的難度很大。為了適應(yīng)Windows下

49、運(yùn)行程序,就必須建立相應(yīng)的窗口、菜單、對(duì)話框等各種控件,面對(duì)這種情況,1990年Microsoft公司推出了Windows應(yīng)用程序開(kāi)發(fā)工具——VB,從而達(dá)到了可視化的結(jié)果。在visual basic中,既繼承了basic語(yǔ)言簡(jiǎn)單易用的特點(diǎn),又采用了面向?qū)ο?、事件?qū)動(dòng)的編程機(jī)制,用一種巧妙的方法把windows編程復(fù)雜性封裝起來(lái),提供了可見(jiàn)即所得的可視界面設(shè)計(jì)方法。</p><p>  Vb已經(jīng)經(jīng)歷了幾個(gè)版本,Vb

50、6.0在功能上進(jìn)一步得到完善和擴(kuò)充,尤其在數(shù)據(jù)庫(kù)管理與網(wǎng)絡(luò)應(yīng)用方面更勝一籌。Vb6.0包括三個(gè)版本:學(xué)習(xí)版,專業(yè)版,企業(yè)版。我們所用的是企業(yè)版(中文)。</p><p>  Vb6.0的功能特點(diǎn):具有面向?qū)ο蟮目梢曉O(shè)計(jì)工具,事件驅(qū)動(dòng)的編程機(jī)制,易學(xué)易用的應(yīng)用程序集成開(kāi)發(fā)環(huán)境,結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言,支持多種數(shù)據(jù)庫(kù)的訪問(wèn),ole技術(shù),active技術(shù),完備的help聯(lián)機(jī)幫助功能。</p><p&g

51、t;  Vb6.0的運(yùn)行環(huán)境:Vb6.0是windows95/98或windows NT下的一個(gè)應(yīng)用程序,本身對(duì)軟硬件沒(méi)有特殊的要求。跟windows95/98或windows NT要求是一致的。 </p><p>  硬件要求:一般在586以上的處理器、16MB以上的內(nèi)存、100MB以上的硬盤等。 </p><p>  軟件要求:wi

52、ndows95/98或windows NT3.51以上版本。</p><p>  3.2 數(shù)據(jù)庫(kù)環(huán)境的選擇</p><p>  SQL Server 2000是關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,數(shù)據(jù)庫(kù)能匯集各種信息以供查詢、存儲(chǔ)和檢索。 SQL Server 2000能作為一個(gè)功能強(qiáng)大的數(shù)據(jù)庫(kù)服務(wù)器有效地工作,而且數(shù)據(jù)庫(kù)引擎也應(yīng)用于客戶端本地存儲(chǔ)獨(dú)立數(shù)據(jù)庫(kù)的應(yīng)用程序中。SQL Server 2000可以

53、動(dòng)態(tài)的配置成能有效的使用客戶端桌面的可用資源,而不需要為每個(gè)客戶端專設(shè)一個(gè)數(shù)據(jù)庫(kù)管理員。SQL Server 2000能提高超大型系統(tǒng)所學(xué)要的數(shù)據(jù)庫(kù)服務(wù)。SQL Server 2000提供了很多的編程組件和工具。</p><p>  3.3 VB語(yǔ)言和函數(shù)</p><p>  Microsoft 公司的Visual Basic6.0是開(kāi)發(fā)Windows應(yīng)用程序,尤其是數(shù)據(jù)庫(kù)應(yīng)用程序的快捷有

54、效的工具, 和以前各版本相比,功能更加強(qiáng)大,使用起來(lái)更加方便。另外,在Visual Basic6.0中可以用公用模塊來(lái)存放整個(gè)工程項(xiàng)目公用函數(shù)、過(guò)程和全局變量等。這樣可以極大的提高代碼的效率。在項(xiàng)目資源管理器中為項(xiàng)目添加一個(gè)Module,保存為Module.bas。往下就可以寫入需要的代碼了。</p><p>  由于系統(tǒng)中各個(gè)功能模塊都將頻繁使用數(shù)據(jù)庫(kù)中的各種資源,因此需要一個(gè)公共的數(shù)據(jù)操作函數(shù),用來(lái)執(zhí)行各種S

55、QL語(yǔ)句。這就需要添加函數(shù)ExecuteSQL了。ExecuteSQL函數(shù)的參數(shù)是SQL,它用來(lái)存放需要執(zhí)行的SQL語(yǔ)句。函數(shù)執(zhí)行時(shí),首先判斷SQL語(yǔ)句中包含的內(nèi)容;當(dāng)執(zhí)行查詢操作時(shí),ExecuteSQL函數(shù)將返回一個(gè)與函數(shù)同名的記錄集對(duì)象(Recordset),所有滿足條件的記錄包含在對(duì)象中;當(dāng)執(zhí)行如刪除、添加等操作時(shí),不返回記錄集對(duì)象。</p><p>  在ExecuteSQL函數(shù)中使用了Connect S

56、tring函數(shù),這個(gè)函數(shù)用來(lái)連接數(shù)據(jù)庫(kù),代碼如下:</p><p>  Public Function ConnectString() As String</p><p>  ‘返回一個(gè)數(shù)據(jù)庫(kù)連接</p><p>  ConnectString=”FileDSN=tushuguanlixitong.dsn;UID=sa;PWD=”</p><p&

57、gt;  End Function</p><p>  由于在后面的程序中,需要頻繁的檢查各種文本框的內(nèi)容是否為空,這也定義了Testtxt函數(shù),代碼為:Public Function Testtxt(txt As String) As Boolean</p><p>  ‘判斷輸入內(nèi)容是否為空</p><p>  If Trim(txt)=”” Then</

58、p><p>  Testtxt=False</p><p><b>  Else</b></p><p>  Testtxt=True</p><p><b>  End If</b></p><p>  End Function.</p><p>  如

59、果文本框內(nèi)容為空時(shí),函數(shù)將返回True,否則將返回False。</p><p>  3.4 Active數(shù)據(jù)對(duì)象——ADO</p><p>  從簡(jiǎn)單的文本文件到各種復(fù)雜的關(guān)系型數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)應(yīng)用程序都需要面對(duì)各種各樣的數(shù)據(jù)源。Visual basic6.0提供ADO(Active Data Objects)作為應(yīng)用程序和OLE-DB連接的橋梁。盡管用戶對(duì)數(shù)據(jù)的要求種類繁多,但典型的數(shù)據(jù)源

60、都是支持ODBC和SQL的。</p><p>  ADO,即Active數(shù)據(jù)對(duì)象:實(shí)際是一種提供訪問(wèn)各種數(shù)據(jù)類型的連接機(jī)制。ADO設(shè)計(jì)為一種極簡(jiǎn)單的格式,通過(guò)ODBC的方法同數(shù)據(jù)庫(kù)接口相連。用戶可以使用任何一種ODBC數(shù)據(jù)源,即不僅適合于SQL sever、Oracle、Access等數(shù)據(jù)庫(kù)應(yīng)用程序,也適合excel表格、文本文件、圖形文件和無(wú)格式數(shù)據(jù)文件。ADO是基于OLE-DB之上的技術(shù),因此ADO通過(guò)其內(nèi)部

61、的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪問(wèn)接口方法。</p><p>  Microsoft在Visual Basic6.0以后的版本都集成了ADO。它與以前的DAO、RDO相比有了很大的提高。DAO(Data Access Objects)即數(shù)據(jù)訪問(wèn)對(duì)象,是一種面向?qū)ο蟮慕缑娼涌?。通過(guò)DAO/Jet功能可以訪問(wèn)ISAM數(shù)據(jù)庫(kù),使用DAO/ODBC Direct功能可以實(shí)現(xiàn)遠(yuǎn)程RDO功能。RDO(Remote Data Ob

62、jects)即遠(yuǎn)程數(shù)據(jù)對(duì)象,為使用代碼來(lái)創(chuàng)建和操作一個(gè)遠(yuǎn)程ODBC數(shù)據(jù)庫(kù)系統(tǒng)的各個(gè)部件提供了一個(gè)框架。RDO是ODBC API的一個(gè)淺層界面接口,是專為訪問(wèn)遠(yuǎn)程的ODBC關(guān)系數(shù)據(jù)源而設(shè)計(jì)的。</p><p>  ADO集中了DAO和RDO的優(yōu)點(diǎn),可以通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)和各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行連接。</p><p>  3.4.1、ADO的編程模型

63、 </p><p>  可以通過(guò)以下幾步來(lái)完成對(duì)數(shù)據(jù)庫(kù)的操作: ①創(chuàng)建一個(gè)到數(shù)據(jù)源的連接(connection),連接到數(shù)據(jù)庫(kù);或者開(kāi)始一個(gè)事物(Transction)。 </p><p> ?、趧?chuàng)建一個(gè)代

64、表SQL命令行(包括變量、參數(shù)、可選項(xiàng)等)的對(duì)象。</p><p> ?、蹐?zhí)行命令行。 </p><p> ?、苋绻祷匾员砀竦男问浇M織的數(shù)據(jù),則將他們保存到緩存中,產(chǎn)生相應(yīng)的數(shù)據(jù)集對(duì)象(Recordset)。</p><p> ?、萃ㄟ^(guò)對(duì)數(shù)據(jù)集對(duì)象進(jìn)行各種操作,包括修改、增加、刪除等。 </p><p>  ⑥更新數(shù)

65、據(jù)源,如果使用事務(wù),確認(rèn)是否接受事務(wù)期間發(fā)生的數(shù)據(jù)變化。 </p><p><b> ?、呓Y(jié)束連接或事務(wù)</b></p><p>  3.4.2、ADO的對(duì)象模型 </p><p>  使用ADO的目的是進(jìn)入數(shù)據(jù)源,使得修改、更新數(shù)據(jù)成為可能。ADO提供一系列的類象來(lái)完成各種操作。 <

66、;/p><p>  連接對(duì)象——Connection 一個(gè)連接(Connection)對(duì)象代表一個(gè)到指定數(shù)據(jù)源的成功連接。應(yīng)用程序通過(guò)一個(gè)連接(包括實(shí)現(xiàn)數(shù)據(jù)交換的環(huán)境設(shè)置)訪問(wèn)數(shù)據(jù)源,也可以直接訪問(wèn)數(shù)據(jù)源(在兩層數(shù)據(jù)結(jié)構(gòu)的系統(tǒng)中比較常見(jiàn)),或者通過(guò)類似Microsoft Internet I

67、nformation Server 的中間層間接訪問(wèn)訪問(wèn)數(shù)據(jù)源(這就是通常說(shuō)的三層結(jié)構(gòu))。連接成功,Connection以對(duì)象的形式存在。連接對(duì)象在ADO對(duì)象模型中的地位就是在Connection里包括(Error、Command、Recordset)。因此使用連接對(duì)象的操作如下: </p><p>  ·

68、;在打開(kāi)連接前需要設(shè)置ConnectionString、ConnectionTimeout和Mode屬性。 </p><p>  ·設(shè)置CursorLocation屬性,可以設(shè)置或者返回指針位置。</p><p>  ·設(shè)置DefaultDatabase屬性可以連接指定的一個(gè)默認(rèn)的數(shù)據(jù)庫(kù)。</p><p>  ·設(shè)置Iso

69、lationLevel屬性可以確定事務(wù)(Transation)在連接的隔離等級(jí)。</p><p>  ·設(shè)置Provider可以連接指定的一個(gè)OLE-DB寄主。</p><p>  ·設(shè)置Open與Close方法來(lái)建立和中斷一個(gè)連接。</p><p>  ·使用Execute方法在連接上建立執(zhí)行命令,設(shè)置CommandTimeout屬性

70、來(lái)指定或者返回命令執(zhí)行時(shí)間。 </p><p>  ·使用BeginTrans、CommitTrans和RollbackTrans方法以及Attributes屬性來(lái)管理事物。</p><p>  ·通過(guò)檢察Error對(duì)象可以知道數(shù)據(jù)源返回的錯(cuò)誤。</p><p>  ·通過(guò)Version屬性可以知道ADO的版本。</p>

71、<p>  ·使用OpenSchema方法可以知道數(shù)據(jù)庫(kù)的計(jì)劃信息。</p><p>  2. 命令行對(duì)象——Command</p><p>  命令行對(duì)象是對(duì)數(shù)據(jù)庫(kù)將要執(zhí)行的一系列操作的定義。使用命令行對(duì)象來(lái)查詢數(shù)據(jù)庫(kù)并返回?cái)?shù)據(jù)集對(duì)象(recordset)形式的查詢結(jié)果。命令行對(duì)象指定變量、參數(shù)、以及可選項(xiàng)來(lái)完成對(duì)數(shù)據(jù)庫(kù)的操作,如添加記錄、刪除記錄、更新記錄等。命令

72、行對(duì)象在ADO對(duì)象的模型中是Connection包含Command,Command又包含Parameters。使用命令行對(duì)象的各種屬性和方法可以如下操作:</p><p>  ·設(shè)置CommandText屬性可以定義命令行的內(nèi)容,如SQL語(yǔ)句。</p><p>  ·使用Execute方法執(zhí)行命令行并返回一個(gè)數(shù)據(jù)集對(duì)象(recordset)。</p>&l

73、t;p>  ·設(shè)置CommandType屬性可以優(yōu)化命令的效率。</p><p>  ·設(shè)置CommandTimeout屬性可以指定服務(wù)器等待醫(yī)療命令執(zhí)行的時(shí)間。</p><p>  ·設(shè)置ActiveConnection屬性可以將一個(gè)命令行對(duì)象與一個(gè)打開(kāi)的連接關(guān)聯(lián)。</p><p>  3. 數(shù)據(jù)集對(duì)象——Recordset&l

74、t;/p><p>  如果命令行指定數(shù)據(jù)以表的形式組織,執(zhí)行命令行后將返回相應(yīng)的數(shù)據(jù)集。同過(guò)數(shù)據(jù)集可以對(duì)記錄以及組成記錄的列進(jìn)行各種操作。數(shù)據(jù)集對(duì)象在ADO對(duì)象模型中的地位是Connection包含Recordset,而Recordset包含fields。</p><p>  3.4.3、為項(xiàng)目添加ADO</p><p>  ADO雖然集成在Visual Basic6.

75、0中,但只是可選項(xiàng)。因此在創(chuàng)建項(xiàng)目后,需要為項(xiàng)目添加ADO。</p><p>  選擇”project”菜單中的”References”命令,在References列表框中中選擇”Microsoft ActiveX Object 2.6 Library”選項(xiàng),再確定。</p><p>  3.5 與數(shù)據(jù)庫(kù)的連接性</p><p>  VISUAL BASIC提供了與

76、底層數(shù)據(jù)庫(kù)系統(tǒng)緊密的連接。 VISUAL BASIC支持不同的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)并充分發(fā)揮每一個(gè)數(shù)據(jù)庫(kù)的特長(zhǎng)。開(kāi)發(fā)人員和利用ODBC來(lái)確定數(shù)據(jù)源,則ADO就能通過(guò)數(shù)據(jù)源來(lái)對(duì)數(shù)據(jù)庫(kù)里的數(shù)據(jù)進(jìn)行操作。</p><p>  而具體的連接哪個(gè)數(shù)據(jù)庫(kù),ODBC沒(méi)有設(shè)置限定,從而使設(shè)計(jì)者能夠應(yīng)用自己比較熟悉的數(shù)據(jù)庫(kù)。</p><p>  以下進(jìn)行圖例說(shuō)明:(圖3-1)</p><p

77、>  值得一提的是VISUAL BASIC擁有數(shù)據(jù)窗口對(duì)象(FORM)。它是一個(gè)智能對(duì)象是MICROSOFT公司的技術(shù)。它能操縱關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)并可以編寫SQL語(yǔ)言。利用該對(duì)象可以修改、更新、插入、刪除、滾頁(yè)、打印數(shù)據(jù)窗口直接管理數(shù)據(jù)庫(kù)的交互與控制。在本系統(tǒng)開(kāi)發(fā)過(guò)程中大多數(shù)報(bào)表均使用此對(duì)象生成,使用其操縱關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)十分方便、快捷。它是一個(gè)支持?jǐn)?shù)據(jù)操縱的封裝性很好對(duì)象。</p><p>  第四章 圖

78、書(shū)管理信息系統(tǒng)的具體實(shí)現(xiàn)</p><p>  4.1 系統(tǒng)客戶端程序</p><p>  以上的SQL語(yǔ)句在SQL Sever 2000查詢分析器中執(zhí)行后,將自動(dòng)產(chǎn)生需要的所有表格。有關(guān)數(shù)據(jù)庫(kù)結(jié)構(gòu)的所有后臺(tái)工作已經(jīng)完成?,F(xiàn)在將通過(guò)圖書(shū)管理信息系統(tǒng)中各個(gè)功能模塊的實(shí)現(xiàn),來(lái)說(shuō)明如何使用Visual Basic 來(lái)編寫 系統(tǒng)的客戶端程序。</p><p>  創(chuàng)建工程項(xiàng)目

79、——工程1.vbp</p><p>  打開(kāi)Visual Basic 后,單擊File|New Project 菜單,在工程模塊中選擇Standard EXE,Visual Basic 將自動(dòng)產(chǎn)生一個(gè)Form窗體,屬性都是缺省設(shè)置。將這個(gè)窗體刪除,單擊File|Save Project菜單,將這個(gè)工程項(xiàng)目命名為 工程1.vbp</p><p>  創(chuàng)建圖書(shū)管理信息系統(tǒng)的主窗體</p&

80、gt;<p>  這個(gè)項(xiàng)目可以使用一個(gè)Form窗體來(lái)實(shí)現(xiàn),單擊工具欄中的 工程 按鈕,選擇 添加工程 按鈕即可生成一個(gè)窗體。在這個(gè)窗體上添加所需的控件,窗體和控件的屬性設(shè)置如下:</p><p>  主窗體及其控件屬性設(shè)置</p><p>  4.1.3 創(chuàng)建主窗體的菜單</p><p>  在上圖所示的主窗體中,單擊鼠標(biāo)右鍵,選擇彈出式菜單中的菜

81、單編輯器,創(chuàng)建如下所示的菜單結(jié)構(gòu)。</p><p><b>  圖書(shū)管理</b></p><p><b>  …圖書(shū)類別管理</b></p><p><b>  ……添加圖書(shū)類別</b></p><p><b>  ……修改圖書(shū)類別</b></p&g

82、t;<p><b>  ……刪除圖書(shū)類別</b></p><p><b>  …圖書(shū)信息管理</b></p><p><b>  ……添加圖書(shū)信息</b></p><p><b>  ……修改圖書(shū)信息</b></p><p><b>

83、;  ……刪除圖書(shū)信息</b></p><p><b>  ……查詢圖書(shū)信息</b></p><p><b>  讀者管理</b></p><p><b>  …讀者種類管理</b></p><p><b>  ……添加讀者種類</b><

84、/p><p><b>  ……修改讀者種類</b></p><p><b>  ……刪除讀者種類</b></p><p><b>  …讀者信息管理</b></p><p><b>  ……添加讀者信息</b></p><p><

85、b>  ……修改讀者信息</b></p><p><b>  ……刪除讀者信息</b></p><p><b>  ……查詢讀者信息</b></p><p><b>  圖書(shū)借閱管理</b></p><p><b>  …借書(shū)信息</b>

86、</p><p><b>  …還書(shū)信息</b></p><p><b>  …圖書(shū)罰金</b></p><p><b>  …查詢借書(shū)信息</b></p><p><b>  系統(tǒng)管理</b></p><p><b> 

87、 …添加管理員</b></p><p><b>  …修改用戶密碼</b></p><p><b>  …數(shù)據(jù)備份</b></p><p><b>  …數(shù)據(jù)恢復(fù)</b></p><p><b>  …退出</b></p><

88、;p>  4.1.4 創(chuàng)建公用模塊</p><p>  在Visual Basic 中可以用公用模塊來(lái)存放整個(gè)工程項(xiàng)目公用的函數(shù)、過(guò)程和全局變量等。這樣可以極大的提高代碼的效率。在項(xiàng)目資源管理器中為項(xiàng)目添加一個(gè) Module,保存為Module.bas。由于系統(tǒng)中各個(gè)功能模塊都將頻繁使用數(shù)據(jù)庫(kù)中的各種數(shù)據(jù),因此需要一個(gè)公共的數(shù)據(jù)操作函數(shù),用以執(zhí)行各種SQL語(yǔ)句。</p><p>

89、  由于啟動(dòng)圖書(shū)管理系統(tǒng)后,需要對(duì)用戶進(jìn)行判斷。如是授權(quán)用戶,將進(jìn)入系統(tǒng),否則將停止程序的執(zhí)行。這個(gè)判斷需要在系統(tǒng)運(yùn)行的最初進(jìn)行,因此將代碼放在公用模塊中。</p><p>  4.2 系統(tǒng)用戶管理模塊的創(chuàng)建</p><p>  用戶管理模塊主要實(shí)現(xiàn):用戶登陸、添加管理員、數(shù)據(jù)備份、修改密碼四個(gè)功能。其窗體如下</p><p>  添加管理員界面(圖4-2)<

90、/p><p>  用戶點(diǎn)擊確認(rèn)后,其數(shù)據(jù)會(huì)添加到數(shù)據(jù)庫(kù)中,添加用戶數(shù)據(jù)庫(kù)中會(huì)多一條新記錄,修改密碼即將數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行更新(update),然后將新記錄保存到數(shù)據(jù)庫(kù)里,刪除用戶就是將數(shù)據(jù)庫(kù)中的數(shù)據(jù)清除。用戶的登錄界面與此界面基本相同,同樣是調(diào)用數(shù)據(jù)庫(kù)tushuguanlixitong表中的信息,再對(duì)用戶的登錄信息進(jìn)行判斷,決定用戶的權(quán)限。這里需要強(qiáng)調(diào)的是新用戶名不能與當(dāng)前的用戶名一致,數(shù)據(jù)庫(kù)中所記錄的是您本次登錄所

91、使用的用戶名和密碼,所以用戶名已定,只需對(duì)您所輸入的用戶名進(jìn)行判斷,用戶名正確,則您創(chuàng)建了登錄的新用戶名。</p><p>  4.3 讀者種類管理模塊的創(chuàng)建</p><p>  圖書(shū)館需要管理不同種類的讀者,并且不同讀者享受的服務(wù)不同。讀者種類管理模塊主要實(shí)現(xiàn)如下功能:添加讀者種類、修改讀者種類、刪除讀者種類。</p><p>  添加讀者種類窗體的創(chuàng)建</

92、p><p>  選擇“讀者管理|讀者種類管理|添加讀者種類”菜單,出現(xiàn)如下窗體:</p><p><b> ?。▓D4-3)</b></p><p>  在窗體上放置多個(gè)文本框,用來(lái)輸入讀者種類信息;兩個(gè)按鈕用來(lái)確定是否添加讀者種類信息;多個(gè)標(biāo)簽用來(lái)提示文本框中需要輸入的內(nèi)容。添加好數(shù)據(jù)后,單點(diǎn)擊 確定 按鈕,系統(tǒng)通過(guò)Dim sql As Strin

93、g性質(zhì)來(lái)來(lái)判定文本框不能為空,如果一文本框出錯(cuò)取消,則全部文本框?qū)⑶宄齼?nèi)容,且窗體有提示信息。當(dāng)判斷好了后,單擊Command1按鈕將觸發(fā)Click事件。</p><p>  實(shí)現(xiàn)添加類別功能的代碼如下:</p><p>  Private Sub Command1_Click()</p><p>  Dim sql As String</p><

94、;p>  Dim conn As New ADODB.Connection</p><p>  Dim rs_readerstyle As New ADODB.Recordset</p><p>  If Trim(Text1.Text) = "" Then</p><p>  MsgBox "讀者種類不能為空 ", v

95、bOK0nly + vbExclamation, ""</p><p>  Text1.SetFocus</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  If Trim(Text2.Text) = &qu

96、ot;" Then</p><p>  MsgBox "借書(shū)數(shù)量不能為空", vbOK0nly + vbExclamation, ""</p><p>  Text2.SetFocus</p><p><b>  Exit Sub</b></p><p><b>

97、;  End If</b></p><p>  If Trim(Text3.Text) = "" Then</p><p>  MsgBox "借書(shū)期限不能為空", vbOK0nly + vbExclamation, ""</p><p>  Text3.SetFocus</p>

98、<p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  If Trim(Text4.Text) = "" Then</p><p>  MsgBox "有限期限不能為空", vbOK0nly + vbExclama

99、tion, ""</p><p>  Text4.SetFocus</p><p><b>  Exit Sub</b></p><p><b>  End If </b></p><p>  Dim connectionstring As String</p>&

100、lt;p>  connectionstring = "FileDSN=tushuguanlixitong.dsn"</p><p>  conn.Open connectionstring</p><p>  sql = "select * from readerstyletable where 種類名稱='" & Text1.

101、Text & "'"</p><p>  rs_readerstyle.Open sql, conn, adOpenKeyset, adLockPessimistic</p><p>  If rs_readerstyle.EOF Then</p><p>  rs_readerstyle.AddNew</p>&l

102、t;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><p>  rs_readerstyl

103、e.Fields(3) = Trim(Text4.Text)</p><p>  rs_readerstyle.Update</p><p>  MsgBox "添加讀者類別成功!", vbOKOnly, ""</p><p>  rs_readerstyle.Close</p><p>  frmad

104、dreaderstyle.Hide</p><p><b>  Else</b></p><p>  MsgBox "讀者類別重復(fù)!", vbOKOnly + vbExclamation, ""</p><p>  Text1.SetFocus</p><p>  Text1.Te

105、xt = ""</p><p>  rs_readerstyle.Close</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  4.3.2 修改讀者種類窗體的創(chuàng)建</p><p> 

106、 選擇“讀者管理|讀者種類管理|修改讀者種類”菜單,出現(xiàn)如下窗體,窗體中放置一個(gè)表格控件:</p><p>  讀者種類記錄列表窗體(圖4-4)</p><p>  載入窗體時(shí),觸發(fā)窗體的Load事件,顯示當(dāng)前數(shù)據(jù)庫(kù)中所有的記錄。因此在Option Explicit里創(chuàng)建一個(gè)Recordset。代碼中仍創(chuàng)建Dim sql As String,顯示記錄列表。完成代碼后,選擇修改類或者刪除,然

107、后在文本框中操作,接著點(diǎn)擊 刷新,將觸發(fā)Recordset中的Update事件,窗體載入當(dāng)前記錄的內(nèi)容,在窗體加載代碼里,Dim connectionstring As String作為橋梁通過(guò)Recordset將窗體內(nèi)容記錄到數(shù)據(jù)庫(kù)中。所有代碼添加完成后,所修改的數(shù)據(jù)會(huì)更新在數(shù)據(jù)庫(kù)中。通過(guò)cmdupdate更新在窗體上。</p><p>  4.3.3 刪除讀者種類</p><p> 

108、 選擇“讀者管理|讀者種類管理|刪除讀者種類”菜單,將出現(xiàn)記錄列表。選擇相應(yīng)記錄,單擊鼠標(biāo)右鍵,選擇彈出式菜單,將刪除當(dāng)前記錄。當(dāng)讀者類別信息列表內(nèi)容為空時(shí),刪除功能將不起作用,Dim sql As String缺少對(duì)象。</p><p>  4.4 讀者信息管理模塊的創(chuàng)建</p><p>  讀者信息管理模塊主要實(shí)現(xiàn)如下功能:添加讀者信息、修改讀者信息、刪除讀者信息、查詢讀者信息。<

109、;/p><p>  4.4.1 添加讀者信息窗體的創(chuàng)建</p><p>  選擇“讀者管理|讀者信息管理|添加讀者信息”菜單,出現(xiàn)如下窗體:</p><p>  添加讀者信息窗體(圖4-5)</p><p>  窗體中各個(gè)控件屬性這里不做一一介紹。將各種文本框放在窗體的框架中,組成“讀者種類”和“讀者信息”兩項(xiàng)。載入窗體時(shí),讀者種類中將自動(dòng)添加讀

110、者種類信息,代碼加在窗體的Load事件中。輸入完內(nèi)容后,單擊“確定”按鈕,觸發(fā)Click事件,首先檢查文本內(nèi)容是否符合格式要求,然后判斷是否有重復(fù)記錄,并更新讀者表中的相關(guān)信息,最后添加內(nèi)容到數(shù)據(jù)庫(kù)。這里要強(qiáng)調(diào)的是添加讀者時(shí)可以添加相同的用用戶。</p><p>  4.4.2 修改讀者信息</p><p>  選擇“讀者管理|讀者信息管理|修改讀者信息”菜單,出現(xiàn)如下窗體:</p&

111、gt;<p>  修改讀者信息窗體(圖4-6)</p><p>  窗體中放置了一個(gè)表格控件,所有讀者記錄都顯示在里面。選擇需要修改的記錄,在選擇菜單下拉框中的“修改讀者信息”命令,出現(xiàn)“添加讀者信息窗體”,然后進(jìn)行修改。選擇“修改讀者信息”命令,將觸發(fā)Frmchangdelreaderinfo的Click事件。程序判斷為修改狀態(tài)后,首先刪除原有記錄,然后把新內(nèi)容加入到數(shù)據(jù)庫(kù)中。</p>

112、<p>  4.4.3 刪除讀者信息</p><p>  在讀者記錄列表中選擇記錄,然后選擇菜單中的“刪除信息”按鈕,將刪除當(dāng)前記錄,再選擇 刷新 按鈕 則窗體中的內(nèi)容將改變成你刪除后的內(nèi)容。數(shù)據(jù)庫(kù)中也將得到刪除后的更改數(shù)據(jù)。刪除信息時(shí)同樣要判斷讀者信息列表內(nèi)容是否為空。</p><p>  4.4.4 查詢讀者信息</p><p>  選擇“讀者管

113、理|讀者信息管理|查詢讀者信息”菜單,出現(xiàn)下列窗體。在這里可以按照各種方式以及它們的組合進(jìn)行查詢。載入窗體時(shí),將自動(dòng)加入所有讀</p><p><b>  (圖4-7)</b></p><p>  者種類的信息,即將內(nèi)容添加到列表框中。設(shè)置完查詢內(nèi)容和方式后,單擊cmd Command1 按鈕將進(jìn)行查詢,代碼如下:</p><p>  Priv

114、ate Sub Command1_Click()</p><p>  Dim rs_findreader As New ADODB.Recordset</p><p>  Dim conn As New ADODB.Connection</p><p>  Dim sql As String</p><p>  If Check1.Value

115、 = vbChecked Then</p><p>  sql = "讀者編號(hào)='" & Trim(Text1.Text & "") & "'"</p><p><b>  End If</b></p><p>  If Check2.Value

116、 = vbChecked Then</p><p>  If Trim(sql) = "" Then</p><p>  sql = "讀者姓名='" & Trim(Text2.Text & " ") & "'"</p><p><b>

117、  Else</b></p><p>  sql = sql & "and 類別='" & Trim(Text2.Text & " ") & "'"</p><p><b>  End If</b></p><p><b

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論