版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 信息科學(xué)與工程學(xué)院論文</p><p><b> 圖書管理系統(tǒng)的設(shè)計(jì)</b></p><p><b> 摘 要</b></p><p> 隨著人類社會的發(fā)展,人類對知識的需求也不斷增長。雖然人們可以從網(wǎng)上獲得知識,但書本閱讀起來卻更加方便,所以,在這種形勢下,書籍就漸漸地成為人們獲取并增長知識的
2、主要途徑,而圖書館就理所當(dāng)然的在人們的生活中占據(jù)了一定的位置,如何科學(xué)合理的管理圖書館不但關(guān)系到讀者求知的方便程度,也關(guān)系到圖書管的發(fā)展,因此,開發(fā)一套完善的圖書管理系統(tǒng),是必不可少的了。本文主要是介紹圖書管理系統(tǒng)的環(huán)境、功能作用、所用到的語言、設(shè)計(jì)的方案等各方面的內(nèi)容。主要是讓使用者了解此系統(tǒng),使他們能更好的運(yùn)用本系統(tǒng),使此系統(tǒng)發(fā)揮出應(yīng)有的作用。</p><p> 【關(guān)鍵詞】 圖書管理;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ì)開發(fā)與開發(fā)平臺1</p><
7、p> 1.2.1 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)2</p><p> 1.2.2 數(shù)據(jù)庫2</p><p> 1.2.3 數(shù)據(jù)庫管理系統(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ù)庫設(shè)計(jì)6
9、</p><p> 3.1 讀者實(shí)體6</p><p> 3.2 圖書實(shí)體6</p><p> 3.3 借書實(shí)體E-R圖7</p><p> 3.4 系統(tǒng)實(shí)體E-R圖7</p><p> 3.5 數(shù)據(jù)庫設(shè)計(jì)7</p><p> 第4章 系統(tǒng)實(shí)現(xiàn)9</p>&
10、lt;p> 4.1 系統(tǒng)數(shù)據(jù)庫模型需分析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 修改圖書類型15
11、</p><p> 4.2.5 圖書借閱和歸還17</p><p> 4.2.6 新書入庫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 書目檢索界面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ù)量的急劇增加,有關(guān)圖書的信息量也在不斷成倍增長。面對龐大的信息量,就需要有圖書管理系統(tǒng)來提高圖書管理工作的效率。通過這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢,從而減少了管理方面的工作量。傳統(tǒng)手工的圖書管理,管理過程繁瑣而復(fù)雜,執(zhí)行效率低,并且易于出錯(cuò)。通過這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢,實(shí)現(xiàn)了圖書管理的系統(tǒng)化
14、、規(guī)范化和自動(dòng)化,這樣不僅減少了管理工作量,還提高了管理效率,降低了管理成本。隨著科技的飛躍進(jìn)步,對信息的管理也是越來越規(guī)范,越來越精確。不僅讓信息合理規(guī)范的管理,同時(shí)也方便管理者方便的快速查詢,提高了管理的效率。對圖書信息進(jìn)行圖書入庫、借閱登記、借閱查詢、過期提示等這些日常業(yè)務(wù)的需要。高效性的通過系統(tǒng)的實(shí)用,能夠改變舊的圖書管理模式,使對圖書的管理、借閱、查詢更加方便有效。</p><p> 1.2 軟件設(shè)計(jì)
15、開發(fā)與開發(fā)平臺</p><p> 1.2.1 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)</p><p> 數(shù)據(jù)庫應(yīng)用系統(tǒng)是針對某個(gè)特定目標(biāo),建立再數(shù)據(jù)庫管理系統(tǒng)之上的計(jì)算機(jī)應(yīng)用系統(tǒng). 組成數(shù)據(jù)庫應(yīng)用系統(tǒng)的要素:數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng)(DBMS),應(yīng)用程序和用戶. 數(shù)據(jù)庫:強(qiáng)調(diào)數(shù)據(jù);數(shù)據(jù)庫管理系統(tǒng):強(qiáng)調(diào)系統(tǒng)軟件;數(shù)據(jù)庫應(yīng)用系統(tǒng):強(qiáng)調(diào)數(shù)據(jù)庫的整個(gè)運(yùn)行系統(tǒng),是以,某個(gè)特定數(shù)據(jù)庫為基礎(chǔ)的計(jì)算機(jī)應(yīng)用系統(tǒng),其作用就是使
16、用戶不能直接干預(yù)數(shù)據(jù)庫而又方便訪問數(shù)據(jù)庫中的資料. 數(shù)據(jù)庫應(yīng)用系統(tǒng)是系統(tǒng)開發(fā)員通過調(diào)用DBMS提供的編程接口開發(fā)出來的.應(yīng)用程序要使用數(shù)據(jù)庫也必須通過此接口 。</p><p> 在數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)之前,對開發(fā)數(shù)據(jù)庫的基本概念應(yīng)當(dāng)先做下了解,對數(shù)據(jù)庫的結(jié)構(gòu)、開發(fā)數(shù)據(jù)庫應(yīng)用程序的步驟、開發(fā)體系及方法都應(yīng)當(dāng)有相當(dāng)清晰的了解和認(rèn)識。這樣,有利于開發(fā)出一個(gè)長期適應(yīng)于用戶的軟件產(chǎn)品。數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的一般過程:需求分
17、析;系統(tǒng)設(shè)計(jì);系統(tǒng)實(shí)現(xiàn);系統(tǒng)測試與維護(hù)??偟膩碚f就是理解用戶的需求,然后,把它們轉(zhuǎn)變?yōu)橛行У臄?shù)據(jù)庫設(shè)計(jì)。把設(shè)計(jì)轉(zhuǎn)變?yōu)閷?shí)際的數(shù)據(jù)庫,并且這些數(shù)據(jù)庫帶有功能完備、高效能的應(yīng)用。</p><p><b> 1.2.2 數(shù)據(jù)庫</b></p><p> 程數(shù)據(jù)庫由DBMS(數(shù)據(jù)庫管理系統(tǒng))處理,DBMS則由開發(fā)人員和用戶通過應(yīng)用序直接或間接地使用。它主要包括四個(gè)要素:用戶
18、數(shù)據(jù)、元數(shù)據(jù)、索引和應(yīng)用元數(shù)據(jù)。本系統(tǒng)采用的數(shù)據(jù)庫是SQL Server 2000.下面即是SQL Server2000介紹:SQL Server2000是Microsoft公司最新開發(fā)的大型關(guān)系數(shù)據(jù)庫管理系統(tǒng),具有強(qiáng)大的關(guān)系數(shù)據(jù)庫創(chuàng)建、開發(fā)、設(shè)計(jì)及管理功能。</p><p> 1.2.3 數(shù)據(jù)庫管理系統(tǒng)</p><p> 數(shù)據(jù)庫管理系統(tǒng)(DBMS):強(qiáng)調(diào)系統(tǒng)軟件,指數(shù)據(jù)庫系統(tǒng)中管理
19、數(shù)據(jù)的軟件系統(tǒng)。DBMS是數(shù)據(jù)庫系統(tǒng)的核心組成部分。對數(shù)據(jù)庫的一切操作,包括定義、更新及各種控制,都是通過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ù)庫管理系統(tǒng)。</p><p> 數(shù)據(jù)庫管理系統(tǒng)(Database Managem
20、ent System)是一種操縱和管理數(shù)據(jù)庫的大型軟件,是用于建立、使用和維護(hù)數(shù)據(jù)庫,簡稱DBMS。它對數(shù)據(jù)庫進(jìn)行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。用戶通過DBMS訪問數(shù)據(jù)庫中的數(shù)據(jù),數(shù)據(jù)庫管理員也通過DBMS進(jìn)行數(shù)據(jù)庫的維護(hù)工作。它提供多種功能,可使多個(gè)應(yīng)用程序和用戶用不同的方法在同時(shí)或不同時(shí)刻去建立,修改和詢問數(shù)據(jù)庫。DBMS從其他兩個(gè)組件接受請求,并把它們翻譯成對操作系統(tǒng)的命令,以便讀寫物理介質(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ò)的廣泛建立,在通用信息平臺上構(gòu)筑高效實(shí)用的協(xié)同工作和自動(dòng)化辦公應(yīng)用系統(tǒng),有效實(shí)現(xiàn)內(nèi)部知識管理,已成為眾多用戶的共同需求。</p><p> 圖書管理系統(tǒng),為學(xué)校與廣大企
22、事業(yè)單位自動(dòng)化辦公提供了一個(gè)較好的解決方案。在開發(fā)過程中,采用了SQL SERVER 2000網(wǎng)絡(luò)數(shù)據(jù)庫,使得本系統(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ù)量的急劇增加,有關(guān)圖書的信息量也在不
23、斷成倍增長。面對龐大的信息量,就需要有圖書管理系統(tǒng)來提高圖書管理工作的效率。通過這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢,從而減少了管理方面的工作量。</p><p> 傳統(tǒng)手工的圖書管理,管理過程繁瑣而復(fù)雜,執(zhí)行效率低,并且易于出錯(cuò)。通過這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢,實(shí)現(xiàn)了圖書管理的系統(tǒng)化、規(guī)范化和自動(dòng)化,這樣不僅減少了管理工作量,還提高了管理效率,降低了管理成本。</p&g
24、t;<p><b> 2.3 功能需求</b></p><p><b> 2.3.1功能劃分</b></p><p> 圖書管理系統(tǒng)主要實(shí)現(xiàn)以下5方面的功能:</p><p><b> a.圖書入庫 </b></p><p><b> b.
25、查詢 </b></p><p><b> c.修改信息 </b></p><p><b> d.圖書借還</b></p><p><b> e.系統(tǒng)管理</b></p><p><b> 2.3.2功能描述</b></p>
26、<p> 1.書籍管理功能:包括書籍類別管理和書籍信息管理兩部分。</p><p> 2.讀者管理部分:這一部分包括對讀者信息進(jìn)行管理的功能。</p><p> 3.借閱管理部分:這一部分包括借書信息管理和還書信息管理兩部分。</p><p> 4.系統(tǒng)管理:包括修改系統(tǒng)用戶密碼、增加新用戶以及退出系統(tǒng)等。</p><p>
27、;<b> 2.4 安全性需求</b></p><p> 每位用戶根據(jù)自己的身份不同,進(jìn)入不同的用戶界面。管理員有權(quán)力行使所有的管理功能,普通用戶只能進(jìn)行一般的查詢。</p><p> 2.5 系統(tǒng)數(shù)據(jù)流程分析</p><p> 圖書管理系統(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è)部分:圖書管理模塊、借閱管理模塊、讀者管理模塊、系統(tǒng)管理模塊、信息查詢模塊、用戶管理模塊 </p><p> 具體的功能描述如下: </p><p> 圖書管理:其功能是管理書庫中圖書的記錄信息,對入庫圖書信
29、息進(jìn)行管理.</p><p> 借閱管理:其功能是對讀者借閱信息進(jìn)行查詢。</p><p> 讀者管理:其功能是對讀者一般信息進(jìn)行查詢以及維護(hù)。</p><p> 系統(tǒng)管理:其功能是為系統(tǒng)的使用者進(jìn)行帳戶和密碼管理以及基礎(chǔ)數(shù)據(jù)維護(hù)。</p><p><b> 其子系統(tǒng)描述:</b></p><
30、p> 1.圖書管理包括圖書入庫功能,主要整理圖書的數(shù)量、類別和各種相關(guān)的信息.</p><p> 2.圖書借閱,進(jìn)行借書操作(此操作由管理員完成);當(dāng)用戶要查詢自己的借閱情況時(shí),可進(jìn)行借閱查詢。</p><p> 3.讀者管理包括讀者登記,讀者信息管理,添加讀者借書和還書信息。可以記錄新加入的讀者的信息,并且可以對已經(jīng)存在于數(shù)據(jù)庫中的讀者的信息進(jìn)行修改,同時(shí)可以進(jìn)行讀者借、還書
31、的管理。</p><p> 4.用戶管理包括修改密碼、新增用戶、刪除用戶可執(zhí)行的系統(tǒng)操作等。</p><p> 5.信息查詢包括圖書查詢、讀者查詢和用戶查詢等功能。通過這些功能,可以通過不同的關(guān)鍵字來對書庫中的圖書進(jìn)行查詢,同時(shí)也可以查詢讀者的借閱信息。</p><p> 6.系統(tǒng)管理是用來完成本系統(tǒng)的基本操作,如修改密碼、登錄系統(tǒng)、退出登錄,還有系統(tǒng)簡介等功
32、能。其功能模塊圖圖2-2所示:</p><p> 圖2-2 功能模塊圖</p><p> 第三章 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)</p><p> E-R模型的“聯(lián)系”用于刻畫實(shí)體之間的關(guān)聯(lián)。一種完整的方式是對局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類型,依據(jù)需求分析的結(jié)果,考察局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類型之間是否存在聯(lián)系。若有聯(lián)系,進(jìn)一步確定是1:N,M:N,還是1:1等。還要考察一個(gè)實(shí)體類型
33、內(nèi)部是否存在聯(lián)系,兩個(gè)實(shí)體類型之間是否存在聯(lián)系,多個(gè)實(shí)體類型之間是否存在聯(lián)系,等等。根據(jù)上面的設(shè)計(jì)可以規(guī)劃出的實(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í)體</b></p><p><b> 圖3-2 圖書實(shí)體</b></p><p> 3.3 借書實(shí)體E-R圖</p><p><b> 圖3-3借書實(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ù)庫設(shè)計(jì)</b></p><p> 由數(shù)據(jù)模型利用SQLsever2000進(jìn)行數(shù)據(jù)庫的詳細(xì)設(shè)計(jì),本系統(tǒng)設(shè)計(jì)的數(shù)據(jù)庫名為shop,其基本表的設(shè)計(jì)如下:</p><p><b> 學(xué)生信息表</b></p>
36、<p><b> (2)圖書明細(xì)表</b></p><p><b> (3)圖書類別</b></p><p><b> (4)用戶</b></p><p><b> (5)借出信息</b></p><p><b> 第四章
37、 系統(tǒng)實(shí)現(xiàn)</b></p><p> 4.1 系統(tǒng)數(shù)據(jù)庫模型需分析</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è)界面中用戶可以根據(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 := '圖書管理系統(tǒng)' + #13;</p><p> Str := Str + '作者:張杰(L3)' + #13;</p><p> Str := St
43、r + '這是我的第一次編程,請大家多多指教!';</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)擊管理員登錄,跳出管理員登錄界面,輸入用戶名和密碼即可進(jìn)入系統(tǒng)管理的后臺界面。</p><p> 功能:本模塊的主要功能是對操作用戶身份的驗(yàn)證,只有系統(tǒng)的合法用戶才能進(jìn)入系統(tǒng)。在進(jìn)行系統(tǒng)登錄過程中,登錄模塊將調(diào)用數(shù)據(jù)庫里的用戶表,并對用戶名和密碼進(jìn)行驗(yàn)證,只有輸入了正確的用戶名和密碼后,系統(tǒng)登錄才會成功。否則退出登錄模塊。并在輸入了錯(cuò)誤的或者是不存在的用戶名和密碼時(shí),系統(tǒng)會給
50、出出錯(cuò)信息提示,指明登錄過程中的錯(cuò)誤輸入或錯(cuò)誤操作,以便用戶進(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 用戶 where 姓名=:username and 密碼=:pass and 類型=: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('用戶名、密碼錯(cuò)誤或您不是管理員,請重新輸入!');</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> 管理員登錄成功后會進(jìn)入如圖4-4的系統(tǒng)管理界面,本模塊的主要功能是實(shí)現(xiàn)管理員對系統(tǒng)的維護(hù)作用,管理員
57、對讀者進(jìn)行信息查詢、修改和刪除,對圖書進(jìn)行注銷和借閱歸還管理。管理員輸入學(xué)號或姓名可以查詢讀者的信息,輸入圖書編號或作者可以查詢圖書的信息。</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é)號' then<
66、;/p><p><b> begin</b></p><p> ADOTable1.Filter := '學(xué)號=''' + 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 = '圖書編號' then</p><p><b> begin</b></p><p> ADOTable2.Filter := '圖書編號=''' + 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> //更新圖書信息表注銷標(biāo)志</p><p> if combobox2.Text = '圖書
78、編號' 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 圖書明細(xì)表 set 狀態(tài)=''注銷'' where 圖書編號=' + 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('該書注銷成功!')</p><p><b> else</b></p><p> ShowMessage
81、('該書注銷失??!');</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 修改圖書類型</p><p> 在系統(tǒng)管理界面中點(diǎn)擊修改圖書類型可
83、進(jìn)入如圖4-5的編輯圖書類別的界面,本模塊主要實(shí)現(xiàn)管理員對圖書類別進(jìn)行刪除和添加的管理功能。</p><p> 圖4-5 修改圖書類型界面</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('類別編號不能為空!');</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('類別名稱不能為空!');</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 圖書類別(類別編號,圖書類別)' + '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 圖書類別 set (類別編號,圖書類別)'+'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 圖書類別';</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 圖書借閱和歸還</p><p> 本模塊主要實(shí)現(xiàn)的功能是讀者對圖書的借閱和歸
94、還:</p><p><b> (1)圖書借閱模塊</b></p><p> 輸入圖書編號按回車圖書信息會自動(dòng)顯示,再輸入借書證號按回車會顯示已借書數(shù),如圖4-6所示:</p><p> 圖4-6 借閱圖書界面</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('借書證號不能為空!');</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('圖書編號不能為空!');<
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('此書已經(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 圖書編號= '+ strBookID;</p><p> DM.QueryBorrow.Close;</p><p> DM.QueryBorrow.SQL.Clear;</p><p> DM.QueryBorrow.SQL.Text := 'insert into 借出信息(圖書編號,借書證
102、號,借出日期,借出狀態(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> //更新圖書信息表在庫標(biāo)志</p><p> DM.QueryReader.Close;</p><p> DM.QueryReader.SQL.Clear;</p><p> strSql := 'update 圖書明細(xì)表 set 狀態(tài)=''借出
105、39;' where 圖書編號= ' + 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('借閱成功,還有要借的書籍嗎?', 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('沒有此書, 請重新選擇!');</p><p><b> Exit;</b></p><p><b> end;</b></p><p> DM.QueryBook.Filtered := false;</p&g
112、t;<p> DM.QueryBook.Filter := '圖書編號=''' + 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 圖書明細(xì)表 where 圖書編號=: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 借書證號=: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('沒有此用戶, 請重新選擇!');</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(借書證號) from 借出信息 where 借書證號=: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(圖書編號) from 借出信息 where 圖書編號=: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)圖書歸還模塊</b></p><p> 輸入圖書編號按回車圖書信息會自動(dòng)顯示,再輸入借書證號按回車會顯示已借出日期和還書日期以及是否超期的信息提示,如圖
132、4-7所示:</p><p> 圖4-7 圖書歸還界面</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('借書證號不能為空!');</p><p> edi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書管理系統(tǒng) 畢業(yè)設(shè)計(jì)
- 圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---圖書管理系統(tǒng)
- 圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-----圖書管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)-----圖書管理系統(tǒng)
- 圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---圖書管理系統(tǒng)
- 圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----圖書管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)---圖書管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)-----圖書管理系統(tǒng)
- 圖書管理系統(tǒng)(畢業(yè)設(shè)計(jì))
- 圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì) 圖書管理系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----圖書管理系統(tǒng)設(shè)計(jì)
- 小型圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 圖書管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)圖書管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)(論文)-圖書管理系統(tǒng)
評論
0/150
提交評論