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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  信息科學(xué)與工程學(xué)院論文</p><p><b>  圖書(shū)管理系統(tǒng)的設(shè)計(jì)</b></p><p><b>  摘 要</b></p><p>  隨著人類(lèi)社會(huì)的發(fā)展,人類(lèi)對(duì)知識(shí)的需求也不斷增長(zhǎng)。雖然人們可以從網(wǎng)上獲得知識(shí),但書(shū)本閱讀起來(lái)卻更加方便,所以,在這種形勢(shì)下,書(shū)籍就漸漸地成為人們獲取并增長(zhǎng)知識(shí)的

2、主要途徑,而圖書(shū)館就理所當(dāng)然的在人們的生活中占據(jù)了一定的位置,如何科學(xué)合理的管理圖書(shū)館不但關(guān)系到讀者求知的方便程度,也關(guān)系到圖書(shū)管的發(fā)展,因此,開(kāi)發(fā)一套完善的圖書(shū)管理系統(tǒng),是必不可少的了。本文主要是介紹圖書(shū)管理系統(tǒng)的環(huán)境、功能作用、所用到的語(yǔ)言、設(shè)計(jì)的方案等各方面的內(nèi)容。主要是讓使用者了解此系統(tǒng),使他們能更好的運(yùn)用本系統(tǒng),使此系統(tǒng)發(fā)揮出應(yīng)有的作用。</p><p>  【關(guān)鍵詞】 圖書(shū)管理;Delphi 7.0

3、;SQL Server 2000</p><p><b>  Abstract</b></p><p>  With the development of human society, human knowledge for demand is also increasing. Although people can get knowledge from the In

4、ternet, but books to read more convenient, so, but in this situation, books were gradually become people to access the main way and increase knowledge, and the library is granted in people's life, occupy a certain po

5、sition to scientific and reasonable management library knowledge not only relates to readers, but also related to how easy it is to the development of th</p><p>  【Keywords】 Books management system ;Delphi

6、7.0 ;SQL Server 2000</p><p><b>  目 錄</b></p><p><b>  第1章 緒論1</b></p><p><b>  1.1緒論1</b></p><p>  1.2 軟件設(shè)計(jì)開(kāi)發(fā)與開(kāi)發(fā)平臺(tái)1</p><

7、p>  1.2.1 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)2</p><p>  1.2.2 數(shù)據(jù)庫(kù)2</p><p>  1.2.3 數(shù)據(jù)庫(kù)管理系統(tǒng)2</p><p>  第2章 系統(tǒng)需求分析3</p><p>  2.1 可行性分析3</p><p>  2.2 需求分析3</p><p> 

8、 2.3 功能需求3</p><p>  2.3.1功能劃分3</p><p>  2.3.2功能描述3</p><p>  2.4 安全性需求4</p><p>  2.5 系統(tǒng)數(shù)據(jù)流程分析4</p><p>  2.6 功能模塊圖4</p><p>  第3章 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)6

9、</p><p>  3.1 讀者實(shí)體6</p><p>  3.2 圖書(shū)實(shí)體6</p><p>  3.3 借書(shū)實(shí)體E-R圖7</p><p>  3.4 系統(tǒng)實(shí)體E-R圖7</p><p>  3.5 數(shù)據(jù)庫(kù)設(shè)計(jì)7</p><p>  第4章 系統(tǒng)實(shí)現(xiàn)9</p>&

10、lt;p>  4.1 系統(tǒng)數(shù)據(jù)庫(kù)模型需分析9</p><p>  4.2 各子系統(tǒng)功能分析與程序代碼設(shè)計(jì)9</p><p>  4.2.1 系統(tǒng)主界面9</p><p>  4.2.2 管理員登錄界面11</p><p>  4.2.3系統(tǒng)管理界面12</p><p>  4.2.4 修改圖書(shū)類(lèi)型15

11、</p><p>  4.2.5 圖書(shū)借閱和歸還17</p><p>  4.2.6 新書(shū)入庫(kù)24</p><p>  4.2.7 添加讀者27</p><p>  4.2.8 系統(tǒng)密碼修改29</p><p>  4.2.9 修改讀者信息31</p><p>  4.2.10 讀者服

12、務(wù)33</p><p>  4.2.11 書(shū)目檢索界面35</p><p><b>  參考文獻(xiàn)37</b></p><p><b>  致謝38</b></p><p><b>  第1章 緒論</b></p><p><b>  1

13、.1緒論</b></p><p>  隨著學(xué)校規(guī)模的不斷擴(kuò)大,圖書(shū)數(shù)量的急劇增加,有關(guān)圖書(shū)的信息量也在不斷成倍增長(zhǎng)。面對(duì)龐大的信息量,就需要有圖書(shū)管理系統(tǒng)來(lái)提高圖書(shū)管理工作的效率。通過(guò)這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢(xún),從而減少了管理方面的工作量。傳統(tǒng)手工的圖書(shū)管理,管理過(guò)程繁瑣而復(fù)雜,執(zhí)行效率低,并且易于出錯(cuò)。通過(guò)這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢(xún),實(shí)現(xiàn)了圖書(shū)管理的系統(tǒng)化

14、、規(guī)范化和自動(dòng)化,這樣不僅減少了管理工作量,還提高了管理效率,降低了管理成本。隨著科技的飛躍進(jìn)步,對(duì)信息的管理也是越來(lái)越規(guī)范,越來(lái)越精確。不僅讓信息合理規(guī)范的管理,同時(shí)也方便管理者方便的快速查詢(xún),提高了管理的效率。對(duì)圖書(shū)信息進(jìn)行圖書(shū)入庫(kù)、借閱登記、借閱查詢(xún)、過(guò)期提示等這些日常業(yè)務(wù)的需要。高效性的通過(guò)系統(tǒng)的實(shí)用,能夠改變舊的圖書(shū)管理模式,使對(duì)圖書(shū)的管理、借閱、查詢(xún)更加方便有效。</p><p>  1.2 軟件設(shè)計(jì)

15、開(kāi)發(fā)與開(kāi)發(fā)平臺(tái)</p><p>  1.2.1 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)</p><p>  數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)是針對(duì)某個(gè)特定目標(biāo),建立再數(shù)據(jù)庫(kù)管理系統(tǒng)之上的計(jì)算機(jī)應(yīng)用系統(tǒng). 組成數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的要素:數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),應(yīng)用程序和用戶(hù). 數(shù)據(jù)庫(kù):強(qiáng)調(diào)數(shù)據(jù);數(shù)據(jù)庫(kù)管理系統(tǒng):強(qiáng)調(diào)系統(tǒng)軟件;數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng):強(qiáng)調(diào)數(shù)據(jù)庫(kù)的整個(gè)運(yùn)行系統(tǒng),是以,某個(gè)特定數(shù)據(jù)庫(kù)為基礎(chǔ)的計(jì)算機(jī)應(yīng)用系統(tǒng),其作用就是使

16、用戶(hù)不能直接干預(yù)數(shù)據(jù)庫(kù)而又方便訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)中的資料. 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)是系統(tǒng)開(kāi)發(fā)員通過(guò)調(diào)用DBMS提供的編程接口開(kāi)發(fā)出來(lái)的.應(yīng)用程序要使用數(shù)據(jù)庫(kù)也必須通過(guò)此接口 。</p><p>  在數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)之前,對(duì)開(kāi)發(fā)數(shù)據(jù)庫(kù)的基本概念應(yīng)當(dāng)先做下了解,對(duì)數(shù)據(jù)庫(kù)的結(jié)構(gòu)、開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序的步驟、開(kāi)發(fā)體系及方法都應(yīng)當(dāng)有相當(dāng)清晰的了解和認(rèn)識(shí)。這樣,有利于開(kāi)發(fā)出一個(gè)長(zhǎng)期適應(yīng)于用戶(hù)的軟件產(chǎn)品。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)的一般過(guò)程:需求分

17、析;系統(tǒng)設(shè)計(jì);系統(tǒng)實(shí)現(xiàn);系統(tǒng)測(cè)試與維護(hù)??偟膩?lái)說(shuō)就是理解用戶(hù)的需求,然后,把它們轉(zhuǎn)變?yōu)橛行У臄?shù)據(jù)庫(kù)設(shè)計(jì)。把設(shè)計(jì)轉(zhuǎn)變?yōu)閷?shí)際的數(shù)據(jù)庫(kù),并且這些數(shù)據(jù)庫(kù)帶有功能完備、高效能的應(yīng)用。</p><p><b>  1.2.2 數(shù)據(jù)庫(kù)</b></p><p>  程數(shù)據(jù)庫(kù)由DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng))處理,DBMS則由開(kāi)發(fā)人員和用戶(hù)通過(guò)應(yīng)用序直接或間接地使用。它主要包括四個(gè)要素:用戶(hù)

18、數(shù)據(jù)、元數(shù)據(jù)、索引和應(yīng)用元數(shù)據(jù)。本系統(tǒng)采用的數(shù)據(jù)庫(kù)是SQL Server 2000.下面即是SQL Server2000介紹:SQL Server2000是Microsoft公司最新開(kāi)發(fā)的大型關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),具有強(qiáng)大的關(guān)系數(shù)據(jù)庫(kù)創(chuàng)建、開(kāi)發(fā)、設(shè)計(jì)及管理功能。</p><p>  1.2.3 數(shù)據(jù)庫(kù)管理系統(tǒng)</p><p>  數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS):強(qiáng)調(diào)系統(tǒng)軟件,指數(shù)據(jù)庫(kù)系統(tǒng)中管理

19、數(shù)據(jù)的軟件系統(tǒng)。DBMS是數(shù)據(jù)庫(kù)系統(tǒng)的核心組成部分。對(duì)數(shù)據(jù)庫(kù)的一切操作,包括定義、更新及各種控制,都是通過(guò)DBMS進(jìn)行的。DBMS總是基于某種數(shù)據(jù)模型,可以把DBMS看成是某種數(shù)據(jù)模型在計(jì)算機(jī)系統(tǒng)上的具體實(shí)現(xiàn)。根據(jù)數(shù)據(jù)模型的不同,DBMS可以分成層次型、網(wǎng)狀型、關(guān)系型、面向?qū)ο笮偷?。其中SQL Server2000就是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。</p><p>  數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Managem

20、ent System)是一種操縱和管理數(shù)據(jù)庫(kù)的大型軟件,是用于建立、使用和維護(hù)數(shù)據(jù)庫(kù),簡(jiǎn)稱(chēng)DBMS。它對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫(kù)的安全性和完整性。用戶(hù)通過(guò)DBMS訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù),數(shù)據(jù)庫(kù)管理員也通過(guò)DBMS進(jìn)行數(shù)據(jù)庫(kù)的維護(hù)工作。它提供多種功能,可使多個(gè)應(yīng)用程序和用戶(hù)用不同的方法在同時(shí)或不同時(shí)刻去建立,修改和詢(xún)問(wèn)數(shù)據(jù)庫(kù)。DBMS從其他兩個(gè)組件接受請(qǐng)求,并把它們翻譯成對(duì)操作系統(tǒng)的命令,以便讀寫(xiě)物理介質(zhì)上的數(shù)據(jù)。DBMS還涉

21、及事務(wù)管理、鎖、備份和恢復(fù)。 </p><p>  第2章 系統(tǒng)需求分析</p><p>  2.1 可行性分析 </p><p>  隨著學(xué)校與廣大企事業(yè)單位內(nèi)部網(wǎng)絡(luò)的廣泛建立,在通用信息平臺(tái)上構(gòu)筑高效實(shí)用的協(xié)同工作和自動(dòng)化辦公應(yīng)用系統(tǒng),有效實(shí)現(xiàn)內(nèi)部知識(shí)管理,已成為眾多用戶(hù)的共同需求。</p><p>  圖書(shū)管理系統(tǒng),為學(xué)校與廣大企

22、事業(yè)單位自動(dòng)化辦公提供了一個(gè)較好的解決方案。在開(kāi)發(fā)過(guò)程中,采用了SQL SERVER 2000網(wǎng)絡(luò)數(shù)據(jù)庫(kù),使得本系統(tǒng)可以方便的和其他子系統(tǒng)進(jìn)行數(shù)據(jù)交換。同時(shí),注意從軟件的圖形應(yīng)用界面上優(yōu)化軟件質(zhì)量,使得本系統(tǒng)具有較強(qiáng)的可操作性。</p><p><b>  2.2 需求分析</b></p><p>  隨著學(xué)校規(guī)模的不斷擴(kuò)大,圖書(shū)數(shù)量的急劇增加,有關(guān)圖書(shū)的信息量也在不

23、斷成倍增長(zhǎng)。面對(duì)龐大的信息量,就需要有圖書(shū)管理系統(tǒng)來(lái)提高圖書(shū)管理工作的效率。通過(guò)這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢(xún),從而減少了管理方面的工作量。</p><p>  傳統(tǒng)手工的圖書(shū)管理,管理過(guò)程繁瑣而復(fù)雜,執(zhí)行效率低,并且易于出錯(cuò)。通過(guò)這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢(xún),實(shí)現(xiàn)了圖書(shū)管理的系統(tǒng)化、規(guī)范化和自動(dòng)化,這樣不僅減少了管理工作量,還提高了管理效率,降低了管理成本。</p&g

24、t;<p><b>  2.3 功能需求</b></p><p><b>  2.3.1功能劃分</b></p><p>  圖書(shū)管理系統(tǒng)主要實(shí)現(xiàn)以下5方面的功能:</p><p><b>  a.圖書(shū)入庫(kù) </b></p><p><b>  b.

25、查詢(xún) </b></p><p><b>  c.修改信息 </b></p><p><b>  d.圖書(shū)借還</b></p><p><b>  e.系統(tǒng)管理</b></p><p><b>  2.3.2功能描述</b></p>

26、<p>  1.書(shū)籍管理功能:包括書(shū)籍類(lèi)別管理和書(shū)籍信息管理兩部分。</p><p>  2.讀者管理部分:這一部分包括對(duì)讀者信息進(jìn)行管理的功能。</p><p>  3.借閱管理部分:這一部分包括借書(shū)信息管理和還書(shū)信息管理兩部分。</p><p>  4.系統(tǒng)管理:包括修改系統(tǒng)用戶(hù)密碼、增加新用戶(hù)以及退出系統(tǒng)等。</p><p>

27、;<b>  2.4 安全性需求</b></p><p>  每位用戶(hù)根據(jù)自己的身份不同,進(jìn)入不同的用戶(hù)界面。管理員有權(quán)力行使所有的管理功能,普通用戶(hù)只能進(jìn)行一般的查詢(xún)。</p><p>  2.5 系統(tǒng)數(shù)據(jù)流程分析</p><p>  圖書(shū)管理系統(tǒng)數(shù)據(jù)流程圖如圖2-1所示:</p><p>  圖2-1 系統(tǒng)數(shù)據(jù)流程圖

28、</p><p><b>  2.6 功能模塊圖</b></p><p>  本系統(tǒng)包括的模塊主要有如下幾個(gè)部分:圖書(shū)管理模塊、借閱管理模塊、讀者管理模塊、系統(tǒng)管理模塊、信息查詢(xún)模塊、用戶(hù)管理模塊 </p><p>  具體的功能描述如下: </p><p>  圖書(shū)管理:其功能是管理書(shū)庫(kù)中圖書(shū)的記錄信息,對(duì)入庫(kù)圖書(shū)信

29、息進(jìn)行管理.</p><p>  借閱管理:其功能是對(duì)讀者借閱信息進(jìn)行查詢(xún)。</p><p>  讀者管理:其功能是對(duì)讀者一般信息進(jìn)行查詢(xún)以及維護(hù)。</p><p>  系統(tǒng)管理:其功能是為系統(tǒng)的使用者進(jìn)行帳戶(hù)和密碼管理以及基礎(chǔ)數(shù)據(jù)維護(hù)。</p><p><b>  其子系統(tǒng)描述:</b></p><

30、p>  1.圖書(shū)管理包括圖書(shū)入庫(kù)功能,主要整理圖書(shū)的數(shù)量、類(lèi)別和各種相關(guān)的信息.</p><p>  2.圖書(shū)借閱,進(jìn)行借書(shū)操作(此操作由管理員完成);當(dāng)用戶(hù)要查詢(xún)自己的借閱情況時(shí),可進(jìn)行借閱查詢(xún)。</p><p>  3.讀者管理包括讀者登記,讀者信息管理,添加讀者借書(shū)和還書(shū)信息??梢杂涗浶录尤氲淖x者的信息,并且可以對(duì)已經(jīng)存在于數(shù)據(jù)庫(kù)中的讀者的信息進(jìn)行修改,同時(shí)可以進(jìn)行讀者借、還書(shū)

31、的管理。</p><p>  4.用戶(hù)管理包括修改密碼、新增用戶(hù)、刪除用戶(hù)可執(zhí)行的系統(tǒng)操作等。</p><p>  5.信息查詢(xún)包括圖書(shū)查詢(xún)、讀者查詢(xún)和用戶(hù)查詢(xún)等功能。通過(guò)這些功能,可以通過(guò)不同的關(guān)鍵字來(lái)對(duì)書(shū)庫(kù)中的圖書(shū)進(jìn)行查詢(xún),同時(shí)也可以查詢(xún)讀者的借閱信息。</p><p>  6.系統(tǒng)管理是用來(lái)完成本系統(tǒng)的基本操作,如修改密碼、登錄系統(tǒng)、退出登錄,還有系統(tǒng)簡(jiǎn)介等功

32、能。其功能模塊圖圖2-2所示:</p><p>  圖2-2 功能模塊圖</p><p>  第三章 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p>  E-R模型的“聯(lián)系”用于刻畫(huà)實(shí)體之間的關(guān)聯(lián)。一種完整的方式是對(duì)局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類(lèi)型,依據(jù)需求分析的結(jié)果,考察局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類(lèi)型之間是否存在聯(lián)系。若有聯(lián)系,進(jìn)一步確定是1:N,M:N,還是1:1等。還要考察一個(gè)實(shí)體類(lèi)型

33、內(nèi)部是否存在聯(lián)系,兩個(gè)實(shí)體類(lèi)型之間是否存在聯(lián)系,多個(gè)實(shí)體類(lèi)型之間是否存在聯(lián)系,等等。根據(jù)上面的設(shè)計(jì)可以規(guī)劃出的實(shí)體有:讀者實(shí)體、圖書(shū)實(shí)體和借書(shū)信息實(shí)體。</p><p><b>  3.1 讀者實(shí)體</b></p><p>  讀者實(shí)體之間的E-R關(guān)系如圖3-1所示:</p><p><b>  圖3-1讀者實(shí)體</b>&

34、lt;/p><p><b>  3.2 圖書(shū)實(shí)體</b></p><p><b>  圖3-2 圖書(shū)實(shí)體</b></p><p>  3.3 借書(shū)實(shí)體E-R圖</p><p><b>  圖3-3借書(shū)實(shí)體</b></p><p>  3.4 系統(tǒng)實(shí)體E-R圖

35、</p><p>  圖3-4實(shí)體E-R圖</p><p><b>  3.5 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  由數(shù)據(jù)模型利用SQLsever2000進(jìn)行數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì),本系統(tǒng)設(shè)計(jì)的數(shù)據(jù)庫(kù)名為shop,其基本表的設(shè)計(jì)如下:</p><p><b>  學(xué)生信息表</b></p>

36、<p><b>  (2)圖書(shū)明細(xì)表</b></p><p><b>  (3)圖書(shū)類(lèi)別</b></p><p><b>  (4)用戶(hù)</b></p><p><b>  (5)借出信息</b></p><p><b>  第四章

37、 系統(tǒng)實(shí)現(xiàn)</b></p><p>  4.1 系統(tǒng)數(shù)據(jù)庫(kù)模型需分析</p><p><b>  關(guān)系圖: </b></p><p><b>  圖4-1關(guān)系圖</b></p><p>  4.2 各子系統(tǒng)功能分析與程序代碼設(shè)計(jì)</p><p>  4.2.1

38、系統(tǒng)主界面</p><p>  程序運(yùn)行程序以后,就可以看到如圖4-2的程序的主界面,從這個(gè)界面中用戶(hù)可以根據(jù)不同的身份進(jìn)行不同的操作。</p><p>  圖4-2 系統(tǒng)主界面</p><p><b>  程序?qū)崿F(xiàn)相關(guān)代碼:</b></p><p>  procedure TfrmMain.SpeedButton1Cl

39、ick(Sender: TObject);</p><p><b>  begin</b></p><p>  frmAdm.Show;</p><p><b>  end;</b></p><p>  procedure TfrmMain.SpeedButton2Click(Sender: TOb

40、ject);</p><p><b>  begin</b></p><p>  frmReaderSer.Show;</p><p><b>  end;</b></p><p>  procedure TfrmMain.SpeedButton3Click(Sender: TObject);<

41、;/p><p><b>  begin</b></p><p>  frmLookBook.Show;</p><p><b>  end;</b></p><p>  procedure TfrmMain.SpeedButton4Click(Sender: TObject);</p>&

42、lt;p>  var Str: string;</p><p><b>  begin</b></p><p>  Str := '圖書(shū)管理系統(tǒng)' + #13;</p><p>  Str := Str + '作者:張杰(L3)' + #13;</p><p>  Str := St

43、r + '這是我的第一次編程,請(qǐng)大家多多指教!';</p><p>  ShowMessage(Str);</p><p><b>  end;</b></p><p>  procedure TfrmMain.SpeedButton5Click(Sender: TObject);</p><p><

44、;b>  begin</b></p><p>  if messagedlg('確定要退出本系統(tǒng)嗎?', mtinformation, [mbyes, mbno], 0) = mryes then</p><p><b>  begin</b></p><p>  ShowMessage('謝謝你的使用

45、');</p><p>  // form1.DestroyWnd;</p><p>  frmMain.Close;</p><p><b>  end;</b></p><p><b>  end;</b></p><p>  procedure TfrmMain

46、.Timer1Timer(Sender: TObject);</p><p><b>  begin</b></p><p>  StatusBar1.Panels[2].Text := '日期:' + DateToStr(Date);</p><p>  StatusBar1.Panels[3].Text := '時(shí)間

47、:' + TimeToStr(Time);</p><p><b>  end;</b></p><p>  procedure TfrmMain.SkinData1FormSkin(Sender: TObject; aName: String;</p><p>  var DoSkin: Boolean);</p>&l

48、t;p><b>  begin</b></p><p>  skindata1.Active:=true;</p><p><b>  end;</b></p><p><b>  end.</b></p><p>  4.2.2 管理員登錄界面</p>&

49、lt;p>  主程序運(yùn)行后,點(diǎn)擊管理員登錄,跳出管理員登錄界面,輸入用戶(hù)名和密碼即可進(jìn)入系統(tǒng)管理的后臺(tái)界面。</p><p>  功能:本模塊的主要功能是對(duì)操作用戶(hù)身份的驗(yàn)證,只有系統(tǒng)的合法用戶(hù)才能進(jìn)入系統(tǒng)。在進(jìn)行系統(tǒng)登錄過(guò)程中,登錄模塊將調(diào)用數(shù)據(jù)庫(kù)里的用戶(hù)表,并對(duì)用戶(hù)名和密碼進(jìn)行驗(yàn)證,只有輸入了正確的用戶(hù)名和密碼后,系統(tǒng)登錄才會(huì)成功。否則退出登錄模塊。并在輸入了錯(cuò)誤的或者是不存在的用戶(hù)名和密碼時(shí),系統(tǒng)會(huì)給

50、出出錯(cuò)信息提示,指明登錄過(guò)程中的錯(cuò)誤輸入或錯(cuò)誤操作,以便用戶(hù)進(jìn)行正確的登錄。</p><p>  其窗體如圖4-3所示:管理員登錄窗體:</p><p>  圖4-3 管理員登錄界面</p><p><b>  登錄按鈕代碼:</b></p><p>  procedure TfrmAdm.Button1Click(Se

51、nder: TObject);</p><p><b>  begin</b></p><p>  with DM.ADOQuery1 do</p><p><b>  begin</b></p><p><b>  Close;</b></p><p>

52、;  SQL.Clear;</p><p>  SQL.Add('select * from 用戶(hù) where 姓名=:username and 密碼=:pass and 類(lèi)型=:GLY');</p><p>  Parameters.ParamByName('username').Value := Edit1.Text;</p><p&

53、gt;  Parameters.ParamByName('pass').Value := Edit2.Text;</p><p>  Parameters.ParamByName('GLY').Value := '管理員';</p><p><b>  Open;</b></p><p>  if

54、 RecordCount < 1 then</p><p><b>  begin</b></p><p>  ShowMessage('用戶(hù)名、密碼錯(cuò)誤或您不是管理員,請(qǐng)重新輸入!');</p><p>  Edit2.Text := '';</p><p><b>  

55、Exit;</b></p><p><b>  end</b></p><p><b>  else</b></p><p><b>  begin</b></p><p>  frmAdmin.ShowModal;</p><p><

56、b>  end;</b></p><p><b>  end;</b></p><p><b>  end;</b></p><p>  4.2.3系統(tǒng)管理界面</p><p>  管理員登錄成功后會(huì)進(jìn)入如圖4-4的系統(tǒng)管理界面,本模塊的主要功能是實(shí)現(xiàn)管理員對(duì)系統(tǒng)的維護(hù)作用,管理員

57、對(duì)讀者進(jìn)行信息查詢(xún)、修改和刪除,對(duì)圖書(shū)進(jìn)行注銷(xiāo)和借閱歸還管理。管理員輸入學(xué)號(hào)或姓名可以查詢(xún)讀者的信息,輸入圖書(shū)編號(hào)或作者可以查詢(xún)圖書(shū)的信息。</p><p>  圖4-4 系統(tǒng)管理界面</p><p><b>  程序相關(guān)代碼:</b></p><p>  procedure TfrmAdmin.BitBtn3Click(Sender: TOb

58、ject);</p><p><b>  begin</b></p><p>  frmAddReader.Show;</p><p><b>  end;</b></p><p>  procedure TfrmAdmin.Button1Click(Sender: TObject);</p&

59、gt;<p><b>  begin</b></p><p>  frmModifyReaderInfo.Show;</p><p><b>  end;</b></p><p>  procedure TfrmAdmin.Button2Click(Sender: TObject);</p>&

60、lt;p><b>  begin</b></p><p>  frmNewBook.Show;</p><p><b>  end;</b></p><p>  procedure TfrmAdmin.Button4Click(Sender: TObject);</p><p><b&g

61、t;  begin</b></p><p>  frmLendBook.Show;</p><p><b>  end;</b></p><p>  procedure TfrmAdmin.Button5Click(Sender: TObject);</p><p><b>  begin</

62、b></p><p>  frmYy.Show;</p><p><b>  end;</b></p><p>  procedure TfrmAdmin.Button6Click(Sender: TObject);</p><p><b>  begin</b></p><

63、;p>  frmModifyPsw.Show;</p><p><b>  end;</b></p><p>  procedure TfrmAdmin.Button7Click(Sender: TObject);</p><p><b>  begin</b></p><p>  if me

64、ssagedlg('確定要退出嗎?', mtinformation, [mbyes, mbno], 0) = mryes then</p><p><b>  Close;</b></p><p><b>  end;</b></p><p>  procedure TfrmAdmin.Button9Cli

65、ck(Sender: TObject);</p><p><b>  begin</b></p><p>  ADOTable1.Close;</p><p>  ADOTable1.Filtered := false;</p><p>  if ComboBox1.Text = '學(xué)號(hào)' then<

66、;/p><p><b>  begin</b></p><p>  ADOTable1.Filter := '學(xué)號(hào)=''' + Edit1.Text + '''';</p><p>  ADOTable1.Filtered := true;</p><p>  

67、ADOTable1.Open;</p><p><b>  end</b></p><p><b>  else</b></p><p><b>  begin</b></p><p>  ADOTable1.Filter := '姓名='''

68、+ Edit1.Text + '''';</p><p>  ADOTable1.Filtered := true;</p><p>  ADOTable1.Open;</p><p><b>  end;</b></p><p><b>  end;</b><

69、/p><p>  procedure TfrmAdmin.Button8Click(Sender: TObject);</p><p><b>  begin</b></p><p>  frmReturnBook.Show;</p><p><b>  end;</b></p><

70、p>  procedure TfrmAdmin.Button10Click(Sender: TObject);</p><p><b>  begin</b></p><p><b>  begin</b></p><p>  ADOTable2.Close;</p><p>  ADOTab

71、le2.Filtered := false;</p><p>  if combobox2.Text = '圖書(shū)編號(hào)' then</p><p><b>  begin</b></p><p>  ADOTable2.Filter := '圖書(shū)編號(hào)=''' + Edit2.Text + '

72、''';</p><p>  ADOTable2.Filtered := true;</p><p>  ADOTable2.Open;</p><p><b>  end</b></p><p><b>  else</b></p><p><

73、b>  begin</b></p><p>  ADOTable2.Filter := '作者=''' + Edit2.Text + '''';</p><p>  ADOTable2.Filtered := true;</p><p>  ADOTable2.Open;</p&

74、gt;<p><b>  end;</b></p><p><b>  end;</b></p><p><b>  end;</b></p><p>  procedure TfrmAdmin.BitBtn4Click(Sender: TObject);</p><

75、p><b>  begin</b></p><p>  if Application.MessageBox('確實(shí)要?jiǎng)h除記錄?該命令不可取消!', '刪除記錄', MB_OKCANCEL) = IDOK</p><p><b>  then</b></p><p>  ADOTable

76、1.Delete</p><p><b>  else</b></p><p><b>  abort;</b></p><p><b>  end;</b></p><p>  procedure TfrmAdmin.Button3Click(Sender: TObject)

77、;</p><p><b>  var</b></p><p>  strBookID: string;</p><p><b>  begin</b></p><p>  //更新圖書(shū)信息表注銷(xiāo)標(biāo)志</p><p>  if combobox2.Text = '圖書(shū)

78、編號(hào)' then</p><p><b>  begin</b></p><p>  strBookID := Trim(Edit2.Text);</p><p>  DM.QueryReader.Close;</p><p>  DM.QueryReader.SQL.Clear;</p><

79、p>  strSql := 'update 圖書(shū)明細(xì)表 set 狀態(tài)=''注銷(xiāo)'' where 圖書(shū)編號(hào)=' + strBookID;</p><p>  DM.QueryReader.SQL.Text := strSql;</p><p>  DM.QueryReader.ExecSQL;</p><p> 

80、 DM.QueryReader.Close;</p><p>  if DM.QueryReader.RowsAffected > 0 then</p><p>  ShowMessage('該書(shū)注銷(xiāo)成功!')</p><p><b>  else</b></p><p>  ShowMessage

81、('該書(shū)注銷(xiāo)失??!');</p><p><b>  end;</b></p><p><b>  end;</b></p><p>  procedure TfrmAdmin.Button11Click(Sender: TObject);</p><p><b>  be

82、gin</b></p><p>  frmBookType.Show;</p><p><b>  end;</b></p><p><b>  end.</b></p><p>  4.2.4 修改圖書(shū)類(lèi)型</p><p>  在系統(tǒng)管理界面中點(diǎn)擊修改圖書(shū)類(lèi)型可

83、進(jìn)入如圖4-5的編輯圖書(shū)類(lèi)別的界面,本模塊主要實(shí)現(xiàn)管理員對(duì)圖書(shū)類(lèi)別進(jìn)行刪除和添加的管理功能。</p><p>  圖4-5 修改圖書(shū)類(lèi)型界面</p><p><b>  確定按鈕代碼:</b></p><p>  procedure TfrmBookType.btnSureClick(Sender: TObject);</p>&

84、lt;p><b>  begin</b></p><p>  if edtTypeID.Text = '' then</p><p><b>  begin</b></p><p>  ShowMessage('類(lèi)別編號(hào)不能為空!');</p><p>  ed

85、tTypeID.SetFocus;</p><p><b>  Exit;</b></p><p><b>  end;</b></p><p>  if edtBookType.Text = '' then</p><p><b>  begin</b><

86、;/p><p>  ShowMessage('類(lèi)別名稱(chēng)不能為空!');</p><p>  edtBookType.SetFocus;</p><p><b>  Exit;</b></p><p><b>  end;</b></p><p>  DM.Quer

87、yBookType.Close;</p><p>  DM.QueryBookType.SQL.Clear;</p><p>  DM.QueryBookType.SQL.Text := 'insert into 圖書(shū)類(lèi)別(類(lèi)別編號(hào),圖書(shū)類(lèi)別)' + 'values(:id,:name)';</p><p>  DM.QueryBoo

88、kType.Parameters.ParamByName('id').Value:=Trim(edtTypeID.Text); DM.QueryBookType.Parameters.ParamByName('name').Value:=Trim(edtBookType.Text);</p><p>  {dm.QueryBookType.SQL.Text:='updat

89、e 圖書(shū)類(lèi)別 set (類(lèi)別編號(hào),圖書(shū)類(lèi)別)'+'values(:id,:name)';</p><p>  dm.QueryBookType.Parameters.ParamByName('id').Value:=trim(edtTypeID.Text);</p><p>  dm.QueryBookType.Parameters.ParamByN

90、ame('name').Value:=trim(edtBookType.Text);}</p><p>  DM.QueryBookType.ExecSQL;</p><p>  DM.QueryBookType.Close;</p><p>  DM.QueryBookType.SQL.Clear;</p><p>  DM

91、.QueryBookType.SQL.Text :='select * from 圖書(shū)類(lèi)別';</p><p>  DM.QueryBookType.ExecSQL;</p><p>  DM.QueryBookType.Open;</p><p><b>  end;</b></p><p><b

92、>  刪除按鈕代碼:</b></p><p>  procedure TfrmBookType.btnDeleteClick(Sender: TObject);</p><p><b>  begin</b></p><p>  if Application.MessageBox('是否刪除記錄?', '

93、;確定', MB_OKCANCEL) = IDOK then</p><p>  DM.DataSourceBookType.DataSet.Delete;</p><p><b>  end;</b></p><p>  4.2.5 圖書(shū)借閱和歸還</p><p>  本模塊主要實(shí)現(xiàn)的功能是讀者對(duì)圖書(shū)的借閱和歸

94、還:</p><p><b>  (1)圖書(shū)借閱模塊</b></p><p>  輸入圖書(shū)編號(hào)按回車(chē)圖書(shū)信息會(huì)自動(dòng)顯示,再輸入借書(shū)證號(hào)按回車(chē)會(huì)顯示已借書(shū)數(shù),如圖4-6所示:</p><p>  圖4-6 借閱圖書(shū)界面</p><p><b>  借閱按鈕代碼:</b></p><

95、p>  procedure TfrmLendBook.Button1Click(Sender: TObject);</p><p><b>  var</b></p><p>  strBookID: string;</p><p><b>  begin</b></p><p>  if e

96、ditreaderID.Text = '' then</p><p><b>  begin</b></p><p>  ShowMessage('借書(shū)證號(hào)不能為空!');</p><p>  editreaderID.SetFocus;</p><p><b>  Exit;&

97、lt;/b></p><p><b>  end;</b></p><p>  if editBookID.Text = '' then</p><p><b>  begin</b></p><p>  ShowMessage('圖書(shū)編號(hào)不能為空!');<

98、;/p><p>  editBookID.SetFocus;</p><p><b>  Exit;</b></p><p><b>  end;</b></p><p>  if getBookCount(editBookID.Text) <> 0 then</p><

99、p><b>  begin</b></p><p>  ShowMessage('此書(shū)已經(jīng)被借出!');</p><p><b>  Exit;</b></p><p><b>  end else</b></p><p><b>  begin

100、</b></p><p>  strBookID := Trim(editBookID.Text);</p><p>  DM.QueryBorrow.Close;</p><p>  DM.QueryBorrow.SQL.Clear;</p><p>  DM.QueryBorrow.SQL.Text := 'updat

101、e 借出信息 set 借出狀態(tài)=1 where 圖書(shū)編號(hào)= '+ strBookID;</p><p>  DM.QueryBorrow.Close;</p><p>  DM.QueryBorrow.SQL.Clear;</p><p>  DM.QueryBorrow.SQL.Text := 'insert into 借出信息(圖書(shū)編號(hào),借書(shū)證

102、號(hào),借出日期,借出狀態(tài))values(:BookID,' +</p><p>  ':readerID,:time,1)';</p><p>  DM.QueryBorrow.Parameters.ParamByName('Bookid').Value:=trim(editBookID.Text); DM.QueryBorrow.Parameters

103、.ParamByName('readerid').Value:=trim(editreaderID.Text); DM.QueryBorrow.Parameters.ParamByName('time').Value:=DateTimePicker1.Time;</p><p>  DM.QueryBorrow.ExecSQL;</p><p>  D

104、M.QueryBorrow.Close;</p><p>  //更新圖書(shū)信息表在庫(kù)標(biāo)志</p><p>  DM.QueryReader.Close;</p><p>  DM.QueryReader.SQL.Clear;</p><p>  strSql := 'update 圖書(shū)明細(xì)表 set 狀態(tài)=''借出&#

105、39;' where 圖書(shū)編號(hào)= ' + strBookID;</p><p>  DM.QueryReader.SQL.Text := strSql;</p><p>  DM.QueryReader.ExecSQL;</p><p>  DM.QueryReader.Close;</p><p><b>  e

106、nd;</b></p><p>  if messagedlg('借閱成功,還有要借的書(shū)籍嗎?', mtconfirmation, [mbyes, mbno], 0) = mryes then</p><p><b>  begin</b></p><p>  editBookID.Text := ''

107、;;</p><p>  editreaderID.Text := '';</p><p>  editmax.Text := '';</p><p>  DBEdit3.Text := '';</p><p>  DBEdit4.Text := '';</p>&

108、lt;p>  DBEdit5.Text := '';</p><p>  DBEdit6.Text := '';</p><p>  DBEdit7.Text := '';</p><p>  editBookID.SetFocus;</p><p><b>  end;<

109、/b></p><p><b>  end;</b></p><p><b>  其他相關(guān)實(shí)現(xiàn)代碼:</b></p><p>  procedure TfrmLendBook.editBookIDKeyPress(Sender: TObject; var Key: Char);</p><p>

110、;<b>  begin</b></p><p>  if Key = #13 then</p><p><b>  begin</b></p><p>  if ViewBook(editBookID.Text) = false then</p><p><b>  begin</

111、b></p><p>  ShowMessage('沒(méi)有此書(shū), 請(qǐng)重新選擇!');</p><p><b>  Exit;</b></p><p><b>  end;</b></p><p>  DM.QueryBook.Filtered := false;</p&g

112、t;<p>  DM.QueryBook.Filter := '圖書(shū)編號(hào)=''' + editBookID.Text + '''';</p><p>  DM.QueryBook.Filtered := true;</p><p><b>  end;</b></p><

113、p><b>  end;</b></p><p>  function TfrmLendBook.ViewBook(BookID: string): boolean;</p><p>  var Query: TADOQuery;</p><p><b>  begin</b></p><p>

114、;  Query := TADOQuery.Create(self);</p><p>  Query.Connection := DM.ADOConnection1;</p><p>  Query.SQL.Add('select * from 圖書(shū)明細(xì)表 where 圖書(shū)編號(hào)=:id');</p><p>  Query.Parameters.P

115、aramByName('ID').Value := BookID;</p><p>  Query.Open;</p><p>  if Query.RecordCount = 0 then</p><p><b>  begin</b></p><p>  Result := false; ;</

116、p><p><b>  Exit;</b></p><p><b>  end else</b></p><p>  Result := true;</p><p><b>  end;</b></p><p>  function TfrmLendBook

117、.viewUser(user: string): boolean;</p><p>  var Query1: TADOQuery;</p><p><b>  begin</b></p><p>  Query1 := TADOQuery.Create(self);</p><p>  Query1.Connectio

118、n := DM.ADOConnection1;</p><p>  Query1.SQL.Add('select * from 學(xué)生信息表 where 借書(shū)證號(hào)=:id');</p><p>  Query1.Parameters.ParamByName('ID').Value := user;</p><p>  Query1.Op

119、en;</p><p>  if Query1.RecordCount = 0 then</p><p><b>  begin</b></p><p>  Result := false;</p><p><b>  Exit;</b></p><p><b> 

120、 end else</b></p><p>  Result := true;</p><p><b>  end;</b></p><p>  procedure TfrmLendBook.editreaderIDKeyPress(Sender: TObject;</p><p>  var Key: Ch

121、ar);</p><p><b>  begin</b></p><p>  if Key = #13 then</p><p><b>  begin</b></p><p>  editmax.Text := IntToStr(getOwnCount(editreaderID.Text));&l

122、t;/p><p>  if viewUser(editreaderID.Text) = false then</p><p><b>  begin</b></p><p>  ShowMessage('沒(méi)有此用戶(hù), 請(qǐng)重新選擇!');</p><p><b>  Exit;</b>&

123、lt;/p><p><b>  end;</b></p><p><b>  end;</b></p><p><b>  end;</b></p><p>  function TfrmLendBook.getOwnCount(userID: string): integer;&

124、lt;/p><p>  var Query2: TADOQuery;</p><p><b>  begin</b></p><p><b>  try</b></p><p>  Query2 := TADOQuery.Create(self);</p><p>  Query

125、2.Connection := DM.ADOConnection1;</p><p>  Query2.SQL.Add('select count(借書(shū)證號(hào)) from 借出信息 where 借書(shū)證號(hào)=:id ');</p><p>  Query2.Parameters.ParamByName('ID').Value := userID;</p>

126、;<p>  Query2.Open;</p><p>  Result := Query2.Fields[0].Value;</p><p>  Query2.Close;</p><p>  Query2.Free;</p><p><b>  except</b></p><p&g

127、t;  Result := 0;</p><p><b>  end;</b></p><p><b>  end;</b></p><p>  function TfrmLendBook.getBookCount(BookID: string): integer;</p><p>  var Qu

128、ery2: TADOQuery;</p><p><b>  begin</b></p><p><b>  try</b></p><p>  Query2 := TADOQuery.Create(self);</p><p>  Query2.Connection := DM.ADOConnec

129、tion1;</p><p>  Query2.SQL.Add('select count(圖書(shū)編號(hào)) from 借出信息 where 圖書(shū)編號(hào)=:id and 借出狀態(tài)=1');</p><p>  Query2.Parameters.ParamByName('ID').Value := BookID;</p><p>  Quer

130、y2.Open;</p><p>  Result := Query2.Fields[0].Value;</p><p>  Query2.Close;</p><p>  Query2.Free;</p><p><b>  except</b></p><p>  Result := 0;&l

131、t;/p><p><b>  end;</b></p><p><b>  end;</b></p><p><b>  (2)圖書(shū)歸還模塊</b></p><p>  輸入圖書(shū)編號(hào)按回車(chē)圖書(shū)信息會(huì)自動(dòng)顯示,再輸入借書(shū)證號(hào)按回車(chē)會(huì)顯示已借出日期和還書(shū)日期以及是否超期的信息提示,如圖

132、4-7所示:</p><p>  圖4-7 圖書(shū)歸還界面</p><p><b>  歸還按鈕代碼 :</b></p><p>  procedure TfrmReturnBook.Button2Click(Sender: TObject);</p><p>  var BorrowBookID: string;<

133、/p><p>  BookID: string;</p><p>  strSql: string;</p><p>  strBookID: string;</p><p>  strDate:string;</p><p><b>  begin</b></p><p> 

134、 strDate:=trim(edtToday.Text);</p><p>  if editreaderID.Text = '' then</p><p><b>  begin</b></p><p>  ShowMessage('借書(shū)證號(hào)不能為空!');</p><p>  edi

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論