基于delphi的圖書(shū)管理系統(tǒng)畢業(yè)論文_第1頁(yè)
已閱讀1頁(yè),還剩48頁(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>  基于delphi的圖書(shū)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  學(xué) 士 學(xué) 位 論 文</p><p>  基于delphi的圖書(shū)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 姓 名:</p><p> 學(xué) 號(hào):</p>&l

2、t;p> 指導(dǎo)教師:</p><p> 院系(部所):計(jì)算機(jī)科學(xué)系</p><p> 專(zhuān) 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)</p><p> 完成日期:2010年5月10日</p><p><b>  摘 要</b></p><p>  隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,傳統(tǒng)的圖書(shū)管

3、理方式必然被計(jì)算機(jī)為基礎(chǔ)的信息管理畢業(yè)設(shè)計(jì)所取代?使用計(jì)算機(jī)對(duì)圖書(shū)信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn)經(jīng)過(guò)分析如此情況,我們使用Borland的DELPHI 7.0開(kāi)發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_(kāi)發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡(jiǎn)潔操縱數(shù)據(jù)庫(kù)的智能化對(duì)象,首先在短時(shí)間內(nèi)建立畢業(yè)設(shè)計(jì)應(yīng)用原型,然后,對(duì)初始原型畢業(yè)設(shè)計(jì)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶(hù)滿意的可行畢業(yè)設(shè)計(jì)?</p><p>  圖

4、書(shū)館作為一種信息資源的集散地,圖書(shū)和用戶(hù)借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,本系統(tǒng)對(duì)圖書(shū)的管理主要包括圖書(shū)入庫(kù),圖書(shū)查詢(xún),圖書(shū)借還,圖書(shū)修改,圖書(shū)類(lèi)別設(shè)置等,其中圖書(shū)查詢(xún)可以按書(shū)號(hào),書(shū)名,出版社,作者,類(lèi)別等進(jìn)行查詢(xún)。系統(tǒng)還包括了權(quán)限設(shè)置和讀者設(shè)置,權(quán)限分為管理員,工作人員和讀者,其中管理員可以對(duì)系統(tǒng)進(jìn)行各種操作,工作人員可以進(jìn)行除權(quán)限外的任何操作,而讀者只能進(jìn)行圖書(shū)查詢(xún)。讀者設(shè)置包括學(xué)生和教師,其中學(xué)生和教師一次可以借書(shū)的數(shù)量是不

5、一樣的。</p><p>  本文采用delphi7.0+Sql Server的技術(shù)方案。還總結(jié)概括了該系統(tǒng)的主要特點(diǎn)和功能,外觀設(shè)計(jì)簡(jiǎn)約,交流界面人性化,配合數(shù)據(jù)庫(kù)管理,使用且易操作。畢業(yè)設(shè)計(jì)在撰寫(xiě)過(guò)程中,力求將理論與實(shí)踐應(yīng)用相結(jié)合,對(duì)各種理論進(jìn)行闡述的同時(shí)配合畢業(yè)設(shè)計(jì)從實(shí)際應(yīng)用和操作技巧上加以說(shuō)明,希望能夠更充分地體現(xiàn)到這些知識(shí)與技術(shù)在本畢業(yè)設(shè)計(jì)中的應(yīng)用與實(shí)現(xiàn)?</p><p>  【

6、關(guān)鍵詞】圖書(shū)管理系統(tǒng);Delphi 7.0;SQL SERVER 2000 </p><p><b>  Abstract</b></p><p>  With the continuous improvement of science and technology, computer science and the maturing of traditional l

7、ibrary management must be computer-based information management graduate design replaced. the use of its various object-oriented development tools, in particular, the data window can be simple and easy to manipulate inte

8、lligence database objects, the first application in a short time to establish the prototype school designs, and then graduated from the initial prototype design needs to c</p><p>  Library as a distribution

9、center for information resources, books and many users to borrow materials, including a lot of information and data management. This system mainly includes the management of library book storage, books borrowed books, mo

10、dify, books and books category Settings, etc, Which book inquires according to call can be title, author, category, etc. System includes the permissions Settings and readers, access into administrators, staff and readers

11、, including system administrators </p><p>  In this paper, using delphi7.0 + Sql Server technology solutions. Also summarized as the system's main features and functionality, minimalist design, human com

12、munication interface, with database management, use and easy to operate. Graduation in the writing process, sought to combine theory and practical application of various theories explain the same time with the graduation

13、 from the practical application and operation technique illustrated in the hope of more fully to the knowledge and techno</p><p>  【Keywords】Library Management System;Delphi 7.0; SQLSERVER 2000</p>&l

14、t;p><b>  目 錄</b></p><p><b>  第1章 緒 論1</b></p><p>  1.1 研究背景1</p><p>  1.2 研究的目的和意義2</p><p>  1.3 國(guó)內(nèi)外的研究現(xiàn)狀3</p><p>  第2章 圖書(shū)管

15、理系統(tǒng)分析4</p><p>  2.1 系統(tǒng)需求分析4</p><p>  2.2 可行性分析5</p><p>  2.3 系統(tǒng)開(kāi)發(fā)環(huán)境的分析5</p><p>  第3章 系統(tǒng)設(shè)計(jì)7</p><p>  3.1 設(shè)計(jì)目標(biāo)7</p><p>  3.2 構(gòu)建開(kāi)發(fā)環(huán)境7</

16、p><p>  3.3 系統(tǒng)業(yè)務(wù)流程圖8</p><p>  3.4 系統(tǒng)功能模塊圖8</p><p>  3.5 系統(tǒng)E-R圖9</p><p>  3.6 系統(tǒng)數(shù)據(jù)流程圖11</p><p>  3.7 數(shù)據(jù)描述12</p><p>  第4章 基于Delphi的數(shù)據(jù)庫(kù)分析與設(shè)計(jì)16

17、</p><p>  4.1 中間件技術(shù)16</p><p>  4.2 服務(wù)端程序的建立17</p><p>  4.3 客戶(hù)端程序的建立17</p><p>  4.4 delphi 7.0 VCL組件的體系結(jié)構(gòu)18</p><p>  4.5 數(shù)據(jù)庫(kù)組件19</p><p>  

18、第5章 圖書(shū)管理系統(tǒng)的功能實(shí)現(xiàn)20</p><p>  5.1 數(shù)據(jù)庫(kù)的連接20</p><p>  5.2 主要功能模塊的詳細(xì)設(shè)計(jì)21</p><p>  5.2.1登錄窗口的設(shè)計(jì)21</p><p>  5.2.2 主窗體設(shè)計(jì)23</p><p>  5.2.3 書(shū)庫(kù)信息查詢(xún)管理模塊設(shè)計(jì)26</p

19、><p>  5.2.4 圖書(shū)借閱列表管理模塊設(shè)計(jì)29</p><p>  5.2.5 罰款信息管理模塊設(shè)計(jì)30</p><p>  5.2.6 讀者注冊(cè)管理模塊設(shè)計(jì)30</p><p>  第6章 圖書(shū)管理系統(tǒng)測(cè)試33</p><p>  6.1系統(tǒng)測(cè)試目標(biāo)及方法34</p><p> 

20、 6.2 系統(tǒng)測(cè)試結(jié)果與分析34</p><p>  6.3本章小結(jié)36</p><p>  結(jié)束語(yǔ)錯(cuò)誤!未定義書(shū)簽。</p><p><b>  參考文獻(xiàn)38</b></p><p><b>  致 謝40</b></p><p><b>  第1章

21、緒 論</b></p><p><b>  1.1 研究背景</b></p><p>  圖書(shū)管理信息系統(tǒng)目前被廣泛應(yīng)用于學(xué)校、工業(yè)、商業(yè)、企業(yè)、事業(yè)等單位,幾乎每個(gè)進(jìn)行了信息化建設(shè)的單位都具有圖書(shū)館管理系統(tǒng)。在使用計(jì)算機(jī)系統(tǒng)對(duì)圖書(shū)的管理,其實(shí)就是對(duì)信息的管理[1]。使用信息系統(tǒng)對(duì)圖書(shū)館進(jìn)行管理,將會(huì)大幅提高管理的效率、便捷與安全。近些年來(lái),圖書(shū)館事業(yè)的巨

22、大進(jìn)步已為圖書(shū)館在新世紀(jì)的發(fā)展打下了堅(jiān)實(shí)的基礎(chǔ).全球信息化和高新技術(shù)的發(fā)展也為圖書(shū)館提供了更好的發(fā)展機(jī)遇,傳統(tǒng)的單一以書(shū)本作為單元信息服務(wù)手段已不能滿足讀者的需求,現(xiàn)代化服務(wù)手段的實(shí)施勢(shì)在必行。</p><p>  隨著社會(huì)的發(fā)展,信息社會(huì)的建立,圖書(shū)館開(kāi)始沖破傳統(tǒng)服務(wù)模式,緊密地配合社會(huì)需求,提供特色服務(wù),有針對(duì)性的服務(wù),不斷提高讀者的滿意率。過(guò)去我們以開(kāi)架借閱滿足讀者按需索書(shū)的需求。但在傳統(tǒng)的借閱方式下,難以

23、達(dá)到讀者快速索取圖書(shū)的要求。以計(jì)算機(jī)網(wǎng)絡(luò)為手段的信息傳遞具有高速度、高效率的特點(diǎn),是任何手工操作都無(wú)法比擬的,電子技術(shù)與圖書(shū)館工作的結(jié)合,實(shí)現(xiàn)了圖書(shū)館管理和服務(wù)的現(xiàn)代化。利用圖書(shū)管理系統(tǒng),可以激活館藏中的各種圖書(shū),使讀者從主題,各種角度檢索圖書(shū)的愿望得到實(shí)現(xiàn)。方便,快捷的檢索方式縮短了尋找所需圖書(shū)的時(shí)間,使讀者擺脫了由于書(shū)目急速增長(zhǎng)而無(wú)從下手的困擾,大大提高了搜索效率,加速了圖書(shū)的開(kāi)發(fā)利用[2]。更為優(yōu)越的是新圖書(shū)管理系統(tǒng)的使用增強(qiáng)了圖

24、書(shū)館員與讀者之間的互動(dòng)服務(wù),以及讀者的自助服務(wù),比如說(shuō)可通過(guò)網(wǎng)絡(luò)推薦新書(shū)和自行辦理圖書(shū)借閱,續(xù)借手續(xù)等等。</p><p>  現(xiàn)代圖書(shū)館以用戶(hù)為中心,需要什么就提供什么,擺脫傳統(tǒng)的服務(wù)方式,摒棄單個(gè)、重復(fù)、被動(dòng)、瑣碎的手工服務(wù)。把服務(wù)模式從單純服務(wù)型轉(zhuǎn)變?yōu)榉?wù)經(jīng)營(yíng)型,把服務(wù)推向市場(chǎng),開(kāi)展信息的深加工,如代查、代檢索、代翻譯、人辦手續(xù)、代復(fù)制、聯(lián)機(jī)檢索、光盤(pán)檢索、聯(lián)機(jī)目錄查詢(xún)、網(wǎng)上專(zhuān)題信息服務(wù)等。提供信息資源的范

25、圍和載體更廣泛。</p><p>  圖書(shū)館作為一種信息資源的集散地,圖書(shū)和用戶(hù)借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書(shū)館都是初步開(kāi)始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理[3]。根據(jù)調(diào)查得知,以前對(duì)信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對(duì)于圖書(shū)借閱情況(如借書(shū)天數(shù)、超過(guò)限定借書(shū)時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用對(duì)借書(shū)卡的人工檢查進(jìn)行,對(duì)借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計(jì)算、

26、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯(cuò);由于數(shù)據(jù)繁多,容易丟失,且不易查找。</p><p>  本文提出根據(jù)基于分布式delphi下的圖書(shū)管理系統(tǒng)的設(shè)計(jì)方案,并根據(jù)高效圖書(shū)館對(duì)圖書(shū)管理系統(tǒng)的需求的調(diào)查,進(jìn)行了初步的探索和嘗試。</p><p>  1.2 研究的目的和意義</p><p>  為了實(shí)現(xiàn)圖書(shū)管理的系統(tǒng)化、規(guī)范化和自動(dòng)化,實(shí)現(xiàn)對(duì)圖書(shū)資料的集中統(tǒng)一的管

27、理。有效的解決以往的圖書(shū)管理信息系統(tǒng)存在的不足和弊病,不斷豐富完善的管理內(nèi)容,還應(yīng)具備如何能夠創(chuàng)建通向未來(lái)的沒(méi)有中斷的跨越LAN、WAN和Internet平臺(tái)的分布式可伸縮的應(yīng)用結(jié)構(gòu),以滿足當(dāng)今的復(fù)雜的不斷發(fā)展的圖書(shū)管理業(yè)務(wù)需求。通過(guò)查閱大量資料,經(jīng)過(guò)兩個(gè)多月設(shè)計(jì)實(shí)踐,我開(kāi)發(fā)了一個(gè)基于delphi的圖書(shū)管理系統(tǒng)(局域網(wǎng)),可以實(shí)現(xiàn)動(dòng)態(tài)的連接應(yīng)用程序服務(wù)器,只要對(duì)配置文件進(jìn)行配置,就可以像網(wǎng)上鄰居一樣選擇所要連接的應(yīng)用程序服務(wù)器(數(shù)據(jù)庫(kù))

28、,并提供簡(jiǎn)單的圖書(shū)管理功能。</p><p>  本系統(tǒng)以高校圖書(shū)館為設(shè)計(jì)背景,一般圖書(shū)館工作效率比較低,并且不能及時(shí)了解圖書(shū)館各類(lèi)圖書(shū)的存庫(kù),學(xué)生們比較需求的圖書(shū)等,不便于查閱相關(guān)的圖書(shū)資料。隨著科技社會(huì)的不斷發(fā)展,計(jì)算機(jī)作為現(xiàn)代人類(lèi)生活主要工具之一,已被廣泛應(yīng)用于社會(huì)各個(gè)領(lǐng)域?,F(xiàn)今,科技水平高速發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)作為今天使用最廣的現(xiàn)代化工具正在成為未來(lái)社會(huì)的重要支柱[6]。所以,在這樣的背景下,現(xiàn)代圖書(shū)館的管理

29、方式產(chǎn)生了重大變化,這種變化表現(xiàn)在圖書(shū)館工作,管理和服務(wù)平臺(tái)發(fā)生的變化,圖書(shū)館已由傳統(tǒng)的手工記錄管理轉(zhuǎn)變?yōu)橛?jì)算機(jī)系統(tǒng)自動(dòng)管理。讀者是圖書(shū)館賴(lài)以生存和發(fā)展的根本,圖書(shū)館也是現(xiàn)代人學(xué)習(xí)獲取知識(shí)的主要場(chǎng)所,圖書(shū)館的正常運(yùn)營(yíng)中總是面對(duì)大量的讀者信息,圖書(shū)信息以及兩者相互作用產(chǎn)生的借書(shū)信息,因此要對(duì)讀者資源,圖書(shū)資源,借書(shū)信息進(jìn)行管理[7]。</p><p>  目前的圖書(shū)館并沒(méi)有較完善的圖書(shū)管理系統(tǒng),為了使一切復(fù)雜程序方

30、便快捷,我為學(xué)校設(shè)計(jì)了一個(gè)圖書(shū)管理系統(tǒng),其意義在于想通過(guò)自己的努力對(duì)自己所學(xué)專(zhuān)業(yè)知識(shí)的一個(gè)測(cè)試,也在于想在系統(tǒng)設(shè)計(jì)過(guò)程中學(xué)習(xí)到更多的知識(shí),為邁入社會(huì)做準(zhǔn)備。</p><p>  1.3 國(guó)內(nèi)外的研究現(xiàn)狀</p><p>  據(jù)統(tǒng)計(jì),在美國(guó)圖書(shū)出版業(yè)在網(wǎng)絡(luò)利用方面領(lǐng)先其他行業(yè)至少1年。技術(shù)上較先進(jìn)。采用Clint/Server模式架構(gòu);使用開(kāi)放的Oracle數(shù)據(jù)庫(kù);高度集成的模塊結(jié)構(gòu),數(shù)據(jù)結(jié)

31、構(gòu)關(guān)系緊密,統(tǒng)一處理CNMARC和USMMARC,兩種MARC格式合庫(kù)為跨語(yǔ)種檢索提供了可能;系統(tǒng)開(kāi)放性好,遵循TCP/IP協(xié)議、Z39.50協(xié)議。服務(wù)意識(shí)濃郁,細(xì)致的服務(wù)體現(xiàn)在采訪、編目、流通各環(huán)節(jié),注重與讀者的互動(dòng)[9]。例如Unicorn設(shè)有專(zhuān)門(mén)的讀者請(qǐng)求模塊,不僅方便讀者薦購(gòu),而且薦購(gòu)的讀者可在當(dāng)頁(yè)看到館員的回復(fù),可看到每本書(shū)從訂購(gòu)、驗(yàn)收、編目到流通各階段的狀態(tài),系統(tǒng)可通知薦購(gòu)者優(yōu)先借閱。這種構(gòu)思體現(xiàn)了系統(tǒng)的精細(xì),使圖書(shū)館的各項(xiàng)

32、工作做得細(xì)致深入。正如許多使用館所說(shuō),引進(jìn)國(guó)外的系統(tǒng)就是引入一套管理理念和管理方法。這是國(guó)外系統(tǒng)最大的優(yōu)點(diǎn),也是各館引進(jìn)系統(tǒng)的初衷。清華大學(xué)圖書(shū)館、天津大學(xué)圖書(shū)館自引進(jìn)系統(tǒng)后,服務(wù)跨上了新臺(tái)階。</p><p>  國(guó)外系統(tǒng)的不足主要是本土化問(wèn)題,畢竟這些系統(tǒng)都是由國(guó)外的公司基于其主要用戶(hù)開(kāi)發(fā)的,在各工作流程的設(shè)計(jì)上、具體工序的操作上,與中國(guó)的情況不太一致,甚至有些無(wú)謂的重復(fù)操作[10]。體現(xiàn)在采訪模塊上就是數(shù)據(jù)

33、缺乏攜帶功能,即自動(dòng)生成功能差。恰恰這方面國(guó)內(nèi)的系統(tǒng)做得較好,操作簡(jiǎn)單,簡(jiǎn)化了工作步驟。</p><p>  我國(guó)加入WTO后,面對(duì)高度信息化、全球化和管理現(xiàn)代化的國(guó)際競(jìng)爭(zhēng),我國(guó)圖書(shū)館事業(yè)如何應(yīng)用信息技術(shù)促進(jìn)管理創(chuàng)新,以管理創(chuàng)新促進(jìn)實(shí)施信息現(xiàn)代化的戰(zhàn)略,深化圖書(shū)館改革和實(shí)現(xiàn)管理水平跨越式發(fā)展,提高服務(wù)水平和服務(wù)質(zhì)量,增強(qiáng)圖書(shū)館的競(jìng)爭(zhēng)力,已成為一個(gè)不容回避、亟待研究解決的重大課題[11]。管理創(chuàng)新應(yīng)以先進(jìn)的信息技術(shù)

34、和管理技術(shù)的應(yīng)用為手段,以促進(jìn)圖書(shū)館管理全面創(chuàng)新為著眼點(diǎn),整合和再造圖書(shū)館業(yè)務(wù)流程、組織結(jié)構(gòu)、管理模式和服務(wù)方式,實(shí)現(xiàn)圖書(shū)館文獻(xiàn)信息資源數(shù)字化和電子化、文獻(xiàn)信息加工自動(dòng)化、服務(wù)方式網(wǎng)絡(luò)化和檢索手段的智能化,為加快數(shù)字化、信息化發(fā)展奠定現(xiàn)代化的管理基礎(chǔ)。運(yùn)用信息技術(shù)變革圖書(shū)館管理模式,不僅可以大大提高圖書(shū)館工作效率和社會(huì)效益、經(jīng)濟(jì)效益,增強(qiáng)圖書(shū)館競(jìng)爭(zhēng)力,還必將對(duì)整個(gè)社會(huì)信息化整體水平的提高產(chǎn)生重大而深遠(yuǎn)的影響。 </p>&

35、lt;p>  第2章 圖書(shū)管理系統(tǒng)分析</p><p>  2.1 系統(tǒng)需求分析</p><p>  圖書(shū)管理系統(tǒng)需要滿足來(lái)自三方面的需求,這三個(gè)方面分別是圖書(shū)借閱者、圖書(shū)館工作人員和圖書(shū)館管理人員。圖書(shū)借閱者的需求是查詢(xún)圖書(shū)館所存的圖書(shū)、個(gè)人借閱情況及個(gè)人信息的修改;圖書(shū)館工作人員對(duì)圖書(shū)借閱者的借閱及還書(shū)要求進(jìn)行操作,同時(shí)形成借書(shū)或還書(shū)報(bào)表給借閱者查看確認(rèn);圖書(shū)館管理人員的功能最

36、為復(fù)雜,包括對(duì)工作人員、圖書(shū)借閱者、圖書(shū)進(jìn)行管理和維護(hù),及系統(tǒng)狀態(tài)的查看、維護(hù)并生成催還圖書(shū)報(bào)表。</p><p>  圖書(shū)借閱者可直接查看圖書(shū)館圖書(shū)情況,如果圖書(shū)借閱者根據(jù)本人借書(shū)證號(hào)和密碼登錄系統(tǒng),還可以進(jìn)行本人借書(shū)情況的查詢(xún)和維護(hù)部分個(gè)人信息。一般情況下,圖書(shū)借閱者只應(yīng)該查詢(xún)和維護(hù)本人的借書(shū)情況和個(gè)人信息,若查詢(xún)和維護(hù)其他借閱者的借書(shū)情況和個(gè)人信息,就要知道其他圖書(shū)借閱者的借書(shū)證號(hào)和密碼。這些是很難得到的,

37、特別是密碼,所以不但滿足了圖書(shū)借閱者的要求,還保護(hù)了圖書(shū)借閱者的個(gè)人隱私。</p><p>  圖書(shū)館工作人員有修改圖書(shū)借閱者借書(shū)和還書(shū)記錄的權(quán)限,所以需對(duì)工作人員登陸本模塊進(jìn)行更多的考慮。在此模塊中,圖書(shū)館工作人員可以為圖書(shū)借閱者加入借書(shū)記錄或是還書(shū)記錄,并打印生成相應(yīng)的報(bào)表給用戶(hù)查看和確認(rèn)。</p><p>  圖書(shū)館管理人員功能的信息量大,數(shù)據(jù)安全性和保密性要求最高。本功能實(shí)現(xiàn)對(duì)圖書(shū)

38、信息、借閱者信息、總體借閱情況信息的管理和統(tǒng)計(jì)、工作人員和管理人員信息查看及維護(hù)。圖書(shū)館管理員可以瀏覽、查詢(xún)、添加、刪除、修改、統(tǒng)計(jì)圖書(shū)的基本信息;瀏覽、查詢(xún)、統(tǒng)計(jì)、添加、刪除和修改圖書(shū)借閱者的基本信息,瀏覽、查詢(xún)、統(tǒng)計(jì)圖書(shū)館的借閱信息,但不能添加、刪除和修改借閱信息,這部分功能應(yīng)該由圖書(shū)館工作人員執(zhí)行,但是,刪除某條圖書(shū)借閱者基本信息記錄時(shí),應(yīng)實(shí)現(xiàn)對(duì)該圖書(shū)借閱者借閱記錄的級(jí)聯(lián)刪除。并且還應(yīng)具有生成催還圖書(shū)報(bào)表,并打印輸出的功能。<

39、;/p><p>  在本系統(tǒng)中由于沒(méi)有打印機(jī)設(shè)備供試驗(yàn),所以預(yù)先把報(bào)表打印改成報(bào)表預(yù)覽設(shè)計(jì)不同用戶(hù)的操作權(quán)限和登陸方法 對(duì)所有用戶(hù)開(kāi)放的圖書(shū)查詢(xún) 借閱者維護(hù)借閱者個(gè)人部分信息 借閱者查看個(gè)人借閱情況信息 維護(hù)借閱者個(gè)人密碼 根據(jù)借閱情況對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作并生成報(bào)表 根據(jù)還書(shū)情況對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作并生成報(bào)表 查詢(xún)及統(tǒng)計(jì)各種信息 維護(hù)圖書(shū)信息 維護(hù)工作人員和管理員信息,維護(hù)借閱者信息,處理信息的完整性,對(duì)借閱過(guò)期的圖書(shū)生成報(bào)

40、表。</p><p><b>  2.2 可行性分析</b></p><p>  可行性分析也稱(chēng)為可行性研究,是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對(duì)新系統(tǒng)的開(kāi)發(fā)是否具備必要性和可能性,可行性研究主要考慮系統(tǒng)硬件和軟件的配置能否滿足用戶(hù)的需求,依照現(xiàn)有的技術(shù)條件能否順利完成系統(tǒng)的實(shí)現(xiàn)。后臺(tái)采用SQL SERVER 2000創(chuàng)建數(shù)據(jù)庫(kù),它能夠處理大量數(shù)據(jù),同時(shí)保持?jǐn)?shù)據(jù)的完整性并提供許

41、多高級(jí)管理功能[13]。它的靈活性、安全性和易用性為數(shù)據(jù)庫(kù)編程提供了良好的條件。因此,在一定程度上是絕對(duì)可行的。</p><p>  2.3 系統(tǒng)開(kāi)發(fā)環(huán)境的分析</p><p>  系統(tǒng)采用Delphi 7.0作為開(kāi)發(fā)平臺(tái)、SQL SERVER 2000開(kāi)發(fā)數(shù)據(jù)庫(kù),系統(tǒng)的設(shè)計(jì)從需求分析開(kāi)始,就保證了系統(tǒng)的穩(wěn)定性和可擴(kuò)展性。</p><p>  因?yàn)镈elphi擁有世

42、界上最快的編譯器,并提供了豐富的組件集,強(qiáng)大的代碼自動(dòng)生成功能和豐富的數(shù)據(jù)庫(kù)管理工具等,使用它的集成開(kāi)發(fā)環(huán)境可以更快的建立應(yīng)用程序。在眾多的編程工具中,Delphi在數(shù)據(jù)庫(kù)方面的特長(zhǎng)尤為突出,它適用于多種數(shù)據(jù)庫(kù)結(jié)構(gòu),具有高效的數(shù)據(jù)庫(kù)管理系統(tǒng)處理能力[15]。</p><p>  SQL Server 2000是一個(gè)后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng),它功能強(qiáng)大操作簡(jiǎn)便,日益為廣大數(shù)據(jù)庫(kù)用戶(hù)所喜愛(ài)。越來(lái)越多的開(kāi)發(fā)工具提供了與SQL

43、 Server的接口。SQL Server 是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同開(kāi)發(fā)的[4]。于1988 年推出了第一個(gè)OS/2 版本,在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開(kāi)發(fā)上就分道揚(yáng)鑣了,Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上,專(zhuān)注于開(kāi)發(fā)推廣SQL Server 的Win

44、dows NT 版本。</p><p>  SQL Server不但可以應(yīng)用于大中型數(shù)據(jù)庫(kù)管理中,建立分布式關(guān)系數(shù)據(jù)庫(kù),并且也可以開(kāi)發(fā)桌面數(shù)據(jù)庫(kù)。事實(shí)上,SQL Server數(shù)據(jù)庫(kù)處理的基本結(jié)構(gòu),采取關(guān)系型數(shù)據(jù)庫(kù)模式,盡管如此,相信大家都可以輕易的發(fā)現(xiàn),在SQL Server的數(shù)據(jù)庫(kù)處理方式,則是使用面向?qū)ο蟮牟僮鞣绞脚c精神,也就是說(shuō),SQL Server的所有功能,都可以基于系統(tǒng)已經(jīng)建立好的一些對(duì)象來(lái)達(dá)成,是相

45、當(dāng)OO(面向?qū)ο螅┑囊粋€(gè)系統(tǒng)結(jié)構(gòu)[17]。</p><p>  SQL Server 企業(yè)管理器是 SQL Server 的主要管理工具,它提供了一個(gè)遵從 MMC 標(biāo)準(zhǔn)的用戶(hù)界面,使用戶(hù)得以:定義 SQL Server 實(shí)例組;將個(gè)別服務(wù)器注冊(cè)到組中;為每個(gè)已注冊(cè)的服務(wù)器配置所有 SQL Server 選項(xiàng);在每個(gè)已注冊(cè)的服務(wù)器中創(chuàng)建并管理所有 SQL Server 數(shù)據(jù)庫(kù)、對(duì)象、登錄、用戶(hù)和權(quán)限;在每個(gè)已注冊(cè)的

46、服務(wù)器上定義并執(zhí)行所有 SQL Server 管理任務(wù);通過(guò)喚醒調(diào)用 SQL 查詢(xún)分析器,交互地設(shè)計(jì)并測(cè)試 SQL 語(yǔ)句、批處理和腳本;喚醒調(diào)用為 SQL Server 定義的各種向?qū)А?lt;/p><p><b>  第3章 系統(tǒng)設(shè)計(jì)</b></p><p><b>  3.1 設(shè)計(jì)目標(biāo)</b></p><p>  對(duì)與典

47、型的數(shù)據(jù)庫(kù)管理系統(tǒng),尤其是對(duì)于像圖書(shū)管理系統(tǒng)這樣數(shù)據(jù)流量特別大的MIS管理系統(tǒng),必須要滿足使用方便,操作靈活等要求。本系統(tǒng)在設(shè)計(jì)時(shí)應(yīng)該滿足以下幾個(gè)目標(biāo):</p><p>  (1) 采用人機(jī)對(duì)話的操作方式,界面美觀,友好,信息查詢(xún)靈活、方便,數(shù)據(jù)存儲(chǔ)準(zhǔn)確、安全可靠。</p><p>  (2) 全面展示圖書(shū)館所有圖書(shū),并可展示新到圖書(shū)及受歡迎的圖書(shū)。</p><p>

48、;  (3) 便于顧客快捷的進(jìn)行圖書(shū)信息查詢(xún)(采用模糊查詢(xún)技術(shù))。</p><p>  (4) 會(huì)員可以隨時(shí)修改自己的基本資料。</p><p>  (5) 實(shí)現(xiàn)借閱預(yù)定。能夠方便的查詢(xún)到讀者要借閱的圖書(shū)信息。</p><p>  (6) 讀者可以隨時(shí)查看自己的圖書(shū)借閱信息。</p><p>  (7) 對(duì)讀者輸入的數(shù)據(jù),系統(tǒng)進(jìn)行嚴(yán)格的數(shù)據(jù)檢

49、驗(yàn),盡可能排除人為地錯(cuò)誤。</p><p>  (8) 系統(tǒng)最大限度地實(shí)現(xiàn)了易維護(hù)性和易操作性。</p><p>  (9) 系統(tǒng)運(yùn)行穩(wěn)定,可靠。</p><p>  3.2 構(gòu)建開(kāi)發(fā)環(huán)境</p><p><b>  硬件平臺(tái):</b></p><p>  CPU:P41.8GHZ;</p&

50、gt;<p>  內(nèi)存:256MB以上</p><p><b>  軟件平臺(tái)</b></p><p>  操作系統(tǒng):windows XP</p><p>  數(shù)據(jù)庫(kù):sqlserver 2000;</p><p>  開(kāi)發(fā)工具包:Delphi 7.0 VCL組件及數(shù)據(jù)庫(kù)組件</p><p

51、>  開(kāi)發(fā)環(huán)境:Borland 7.0</p><p>  分辨率:最佳效果1024*768像素</p><p>  3.3系統(tǒng)業(yè)務(wù)流程圖</p><p>  圖書(shū)管理系統(tǒng)業(yè)務(wù)流程圖如圖3-1所示。</p><p>  圖3-1 系統(tǒng)業(yè)務(wù)流程圖</p><p>  讀者借閱業(yè)務(wù)流程圖如圖3-2所示。</p&

52、gt;<p>  圖3-2 讀者借閱業(yè)務(wù)流程圖</p><p>  3.4 系統(tǒng)功能模塊圖</p><p>  圖書(shū)管理系統(tǒng)前臺(tái)功能結(jié)構(gòu)如圖3-3所示。 </p><p>  圖3-3前臺(tái)組織結(jié)構(gòu)圖</p><p>  圖書(shū)管理系統(tǒng)后臺(tái)功能結(jié)構(gòu)如圖3-4所示。</p><p>  圖3-4后臺(tái)組織結(jié)構(gòu)圖&

53、lt;/p><p><b>  3.5系統(tǒng)E-R圖</b></p><p>  在本系統(tǒng)中主要有以下5個(gè)E-R圖:用戶(hù)信息E-R圖、讀書(shū)信息E-R圖、圖書(shū)管理E-R圖、圖書(shū)借閱E-R圖。</p><p>  用戶(hù)實(shí)體與屬性如圖3-5所示,用戶(hù)的屬性主要包括:用戶(hù)編號(hào),用戶(hù)名,用戶(hù)密碼,是否是管理員。</p><p>  圖3

54、-5 用戶(hù)E-R圖</p><p>  讀者實(shí)體與屬性如圖3-6所示,顧客的屬性主要包括:讀者編號(hào),讀者姓名名稱(chēng),院系,性別。</p><p>  圖3-6 讀者信息E-R圖</p><p>  圖書(shū)信息實(shí)體與屬性如圖3-7所示,圖書(shū)管理的屬性主要包括:出版社,圖書(shū)作者,出版社名稱(chēng),聯(lián)系地址,出版日期,網(wǎng)址,電話,聯(lián)系電話,添加/修改/刪除圖書(shū),圖書(shū)編號(hào)。</

55、p><p>  圖3-7 圖書(shū)管理E-R圖</p><p>  圖書(shū)借閱實(shí)體與屬性如圖3-8所示,商品的屬性主要包括:借閱數(shù)量,還書(shū)時(shí)間,讀者編號(hào),違規(guī)罰金,借書(shū)時(shí)間。</p><p>  圖3-8 圖書(shū)借閱E-R圖</p><p>  3.6系統(tǒng)數(shù)據(jù)流程圖</p><p>  系統(tǒng)主要功能數(shù)據(jù)流圖如下圖3-9所示。<

56、;/p><p>  圖3-9系統(tǒng)主要功能數(shù)據(jù)流圖</p><p><b>  3.7 數(shù)據(jù)描述</b></p><p>  各數(shù)據(jù)表之間的關(guān)系如圖3-10所示。</p><p>  圖3-10數(shù)據(jù)表關(guān)系圖</p><p>  共創(chuàng)建9個(gè)數(shù)據(jù)表,依次是讀者信息表、圖書(shū)信息表、出版社信息表、讀者借閱信息表

57、、后臺(tái)管理員登錄表、登錄信息表、書(shū)籍大類(lèi)信息表、書(shū)籍小類(lèi)信息表、書(shū)籍入庫(kù)信息表,各表結(jié)構(gòu)詳細(xì)設(shè)計(jì)如表3-1、表3-2、表3-3、表3-3、表3-4、表3-5、表3-6、表3-7、表3-8、表3-9所示。</p><p>  表3-1讀者信息表結(jié)構(gòu)</p><p>  表3-2圖書(shū)信息表結(jié)構(gòu)</p><p>  表3-3出版社信息表結(jié)構(gòu)</p><

58、p>  表3-4讀者借閱信息表結(jié)構(gòu) </p><p>  表3-5后臺(tái)管理員信息表結(jié)構(gòu) </p><p>  表3-6登錄信息表結(jié)構(gòu)</p><p>  表3-7書(shū)籍大類(lèi)信息表結(jié)構(gòu)</p><p>  表3-8書(shū)籍小類(lèi)信息表結(jié)構(gòu)</p><p>  表3-9書(shū)籍入庫(kù)信息表結(jié)構(gòu)</p><p&g

59、t;  第4章 基于Delphi的數(shù)據(jù)庫(kù)分析與設(shè)計(jì)</p><p><b>  4.1 中間件技術(shù)</b></p><p>  Delphi提出的MIDAS(Multi-Tier distributed Application Services Suite多層分布式應(yīng)用服務(wù)器組),是把原來(lái)Two- Tier數(shù)據(jù)連接放到了服務(wù)器端的COM組件上,客戶(hù)端只剩下了執(zhí)行文件和

60、MIDAS.DLL,前臺(tái)和服務(wù)器上的COM組件,通過(guò)DCOM機(jī)制互相溝通。</p><p>  這個(gè)多的一層,稱(chēng)為應(yīng)用程序服務(wù)器(Application Server),或者稱(chēng)為中間件。整個(gè)工作機(jī)制見(jiàn)下圖:</p><p>  圖4-1 分布式應(yīng)用服務(wù)器</p><p>  這種多層分布式工作機(jī)制,主要基于這樣幾點(diǎn)考慮:</p><p>  

61、(1) 減少客戶(hù)機(jī)的維護(hù)量,因?yàn)榍芭_(tái)程序比較簡(jiǎn)單,把企業(yè)邏輯封裝在通用的中間件應(yīng)用服務(wù)器中,不同的客戶(hù)都可以共享同一個(gè)中間層(包括Web),而不必每個(gè)客戶(hù)都單獨(dú)實(shí)現(xiàn)企業(yè)規(guī)則,避免了重復(fù)開(kāi)發(fā)和維護(hù)的麻煩。由于客戶(hù)程序相當(dāng)瘦(這就是現(xiàn)在流行的瘦客戶(hù)機(jī)概念),無(wú)論是開(kāi)發(fā)還是發(fā)布,都變得簡(jiǎn)單了。表現(xiàn)在:便于升級(jí),當(dāng)中間件升級(jí)的時(shí)候,客戶(hù)程序可能不需要變化;實(shí)現(xiàn)了分布式數(shù)據(jù)處理,把一個(gè)應(yīng)用程序分布在幾臺(tái)機(jī)器上運(yùn)行,可以提高應(yīng)用程序的性能,也可以把

62、敏感部分封裝在中間件,為不同的用戶(hù)設(shè)置不同的訪問(wèn)權(quán)限,增強(qiáng)了安全性;減少直接連接數(shù)據(jù)庫(kù)的用戶(hù)數(shù)目,減少費(fèi)用[20]。</p><p>  (2) 在Delphi 7.0上,在原來(lái)的MIDAS基礎(chǔ)上,發(fā)展了DataSnap技術(shù),在很多細(xì)節(jié)方面,它提供了原來(lái)MIDAS所沒(méi)有的許多功能,使用上更加方便了。</p><p>  (3) DataSnap主要提供客戶(hù)端和中間件之間的通信,不但支持CO

63、M+技術(shù)也支持TCP/IP或者CORBA,它們使用類(lèi)似的界面和方法,其結(jié)果由程序自動(dòng)完成,這就大大擴(kuò)充了它的應(yīng)用范圍。</p><p>  (4) 必須要提醒的是,前臺(tái)機(jī)器上除了應(yīng)用程序以外,還必須把一個(gè)MIDAS.DLL文件復(fù)值到前臺(tái)機(jī)器上,這個(gè)文件在服務(wù)器的WINNT\System32目錄下。</p><p>  4.2 服務(wù)端程序的建立</p><p>  服

64、務(wù)器端程序?qū)嶋H上是個(gè)COM 工程,它本身連接數(shù)據(jù)源,再通過(guò)接口與客戶(hù)端聯(lián)系,這個(gè)COM 工程必須注冊(cè)在服務(wù)器上。</p><p>  首先建立一個(gè)空白的工程,在工程里放置一個(gè)Adoconnection組件。然后再建一個(gè)遠(yuǎn)程數(shù)據(jù)模塊Remote Data Module(遠(yuǎn)程數(shù)據(jù)模塊)。Coclass Name : libserver ,Instancing:執(zhí)行模式,大部分用Multiple Instance(多重

65、實(shí)例),Threading Model:線程模式,建議用Apartment(單元),產(chǎn)生一個(gè)窗口,在這個(gè)窗口里,可以放入數(shù)據(jù)控件。</p><p>  在Type Libray 中,我們可以看到這個(gè)COM 的一些特性。我們也可以記下系統(tǒng)提供的GUID,以備后來(lái)使用。加入一個(gè)ADOTable,并設(shè)置其指向一個(gè)數(shù)據(jù)庫(kù)。再設(shè)置一個(gè)DataSetProvider(在DataAccess頁(yè))指向ADOTable,這就完成了

66、服務(wù)器端的程序設(shè)計(jì)。保存,編譯,注冊(cè)(注意,只要運(yùn)行就自動(dòng)在本機(jī)注冊(cè)了)。</p><p>  4.3 客戶(hù)端程序的建立</p><p>  在Two-Tier模式中,客戶(hù)端(Client)程序是直接和服務(wù)器的數(shù)據(jù)源相連的,而Multi-Tier模式,多個(gè)客戶(hù)端連接的是一個(gè)應(yīng)用程序服務(wù)器,因?yàn)槭召M(fèi)是按客戶(hù)端數(shù)計(jì)算的,所以,數(shù)據(jù)庫(kù)的使用費(fèi)用比較低。</p><p> 

67、 (1) 建立一個(gè)普通的工程 </p><p>  (2) 放置一個(gè)TDCOMConnrction控件</p><p>  屬性:在本機(jī)注冊(cè)時(shí),可直接設(shè)置以下屬性:ServerName:應(yīng)用程序服務(wù)器注冊(cè)名server.libserver,Connected=true。這時(shí)你可以看到服務(wù)器端的COM 程序被激活了。如果在網(wǎng)絡(luò)上調(diào)試,需要給出服務(wù)器名:ComputerName:服務(wù)器名(自動(dòng)

68、給出網(wǎng)上鄰居)注意: ServerGUID的GUID值是自動(dòng)給出的。</p><p>  (3) 放置一個(gè)TClientDataSet控件</p><p>  屬性RemoteServer= DCOMConnrction1,ProviderName:=DataSetProvider1(服務(wù)器端將被激活),Active=true (激活后將能正常連接)</p><p>

69、;  (4) 放置TDataSource</p><p>  屬性:Dataset:指向cdsCustomer。</p><p>  這樣一個(gè)客戶(hù)端程序就建立好了,其余猶如普通的數(shù)據(jù)庫(kù)設(shè)計(jì)。</p><p>  4.4 Delphi 7.0 VCL組件的體系結(jié)構(gòu)</p><p>  Delphi類(lèi)可以粗略地分成兩部分:一部分是組件類(lèi),這些組件

70、類(lèi)通常以某種方式出現(xiàn)在組件面板上,當(dāng)用戶(hù)從組件面板上點(diǎn)取一個(gè)類(lèi)的圖標(biāo)后,在程序中就自動(dòng)生成了該類(lèi)的對(duì)象(非可視組件除外);另一部分是功能類(lèi),這此功能類(lèi)的對(duì)象通常出現(xiàn)在程序代碼中,起著不可代替的作用,但是這些功能類(lèi)在組件面板上是找不到的。在Delphi中,每一個(gè)類(lèi)的祖先都是Tobject類(lèi),整個(gè)類(lèi)的層次結(jié)構(gòu)就像一棵倒掛的樹(shù),在最頂層的樹(shù)根即為T(mén)object類(lèi)。這樣,按照面向?qū)ο缶幊痰幕舅枷耄褪沟糜脩?hù)可用Tobject類(lèi)這個(gè)類(lèi)型代替任何

71、其它類(lèi)的數(shù)據(jù)類(lèi)型。</p><p>  實(shí)際上在Delphi的類(lèi)庫(kù)中,Tobject類(lèi)派生出了為數(shù)相當(dāng)眾多的子類(lèi),它們形成了一個(gè)龐大的體系,通常情況下,如果不自行開(kāi)發(fā)組件,就不必了解整個(gè)類(lèi)的體系結(jié)構(gòu),只用到類(lèi)層次 樹(shù)的葉結(jié)點(diǎn)就足夠了。這一小節(jié)簡(jiǎn)略介紹一下Delphi 6.0中VCL(可視化組件庫(kù))組件的體系結(jié)構(gòu)。凡是做過(guò)程序開(kāi)發(fā)的人都知道從來(lái)沒(méi)有單純的數(shù)據(jù)應(yīng)用程序,也就是說(shuō),數(shù)據(jù)庫(kù)應(yīng)用程序必須和用戶(hù)界面(可以是圖

72、形界面,也可以是命令接口)元素相結(jié)合,只講界面或只講數(shù)據(jù)庫(kù)本身都構(gòu)不成數(shù)據(jù)庫(kù)應(yīng)用程序,因而用Delphi 7.0開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序就隱含著界面開(kāi)發(fā)[19]。組件在Delphi程序的開(kāi)發(fā)中是最顯眼的角色。大家知道,在編寫(xiě)程序時(shí)一般都開(kāi)始于在組件面板上選擇組件并定義組件間的相互作用。但也有一些組件不在組件面板上,例如Tform和Tapplication(典型的非可視組件)。組件是Tcomponents派生出來(lái)的子類(lèi),可以流的形式存放在DFM

73、文件中,具有事件和Publish屬性。窗口組件類(lèi)是窗口化的可視化組件類(lèi),在Delphi的類(lèi)庫(kù)中占有最大的份額。</p><p>  在實(shí)際編程中,窗口組件類(lèi)的對(duì)象都有句柄,可以接受輸入焦點(diǎn)和包含其它組件。圖形組件與窗口組件并列,是另一大類(lèi)組件。圖形組件不是基于窗口的,因而不能有窗口句柄,不能接受輸入焦點(diǎn)和包含其它組件。圖形組件的基類(lèi)是TgraphicControl,在實(shí)際編程中,它們必須寄生于它們的宿主——窗口組

74、件類(lèi)的對(duì)象,由它們的擁有者負(fù)責(zé)其顯示,而且它們還能觸發(fā)一些和鼠標(biāo)活動(dòng)相關(guān)的事件。圖形控件最典型的例子是Tlabel和TspeedButton。其實(shí)使用圖形組件的最大好處在于節(jié)省資源,正是因?yàn)樗鼈兊墓δ茌^弱,所以使用的系統(tǒng)資源就要少。在一個(gè)應(yīng)用程序中,如果能在不影響其功能的前提下合理大量地使用圖形組件,將會(huì)大減少程序?qū)ο到y(tǒng)資源的消耗[18]。非可視組件是與可視組件相并列的另一類(lèi)組件,非可視組件在程序運(yùn)行中是不可見(jiàn)的(除各種對(duì)話框組件之外,

75、事實(shí)上有人認(rèn)為對(duì)話框組件不能歸入非可視組件,應(yīng)該是另一種介于可視與非可視之間的組件)。</p><p>  最后要說(shuō)明一下,常說(shuō)的控件實(shí)際上是一種組件??丶蒞indows系列操作系統(tǒng)提出并使用,而組件是Borland和其它廠商在對(duì)Windows控件做了必要的擴(kuò)展之后提出來(lái)的概念,它們是在不同時(shí)期由不同的廠商提出的概念。</p><p><b>  4.5數(shù)據(jù)庫(kù)組件</b&

76、gt;</p><p>  用Delphi7.0開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用,重點(diǎn)是和各種數(shù)據(jù)庫(kù)組件打交道,能和數(shù)據(jù)庫(kù)掛鉤的組件對(duì)象有5種,它們是:Session(數(shù)據(jù)庫(kù)會(huì)話)、Database(數(shù)據(jù)庫(kù))、Dataset(數(shù)據(jù)集)、DataSource(數(shù)據(jù)源)、Data control(數(shù)據(jù)控制組件,也叫data-controls即數(shù)據(jù)感知組件)。其中前面4種統(tǒng)稱(chēng)為數(shù)據(jù)訪問(wèn)(Data Access)組件。ADO組件 Delp

77、hi7.0包含了可以用來(lái)訪問(wèn)Microsoft公司的ActiveX Data Objects(ADO)格式數(shù)據(jù)庫(kù)的組件。ADO是Micrsoft公司關(guān)于各種類(lèi)型數(shù)據(jù)的高等界面,后來(lái)逐漸演變成滿足所有數(shù)據(jù)訪問(wèn)需要的完整解決辦法。ADO的對(duì)象模型是所有數(shù)據(jù)訪問(wèn)接口對(duì)象模型中最簡(jiǎn)單的一種。</p><p>  Microsoft公司用來(lái)訪問(wèn)ADO數(shù)據(jù)的應(yīng)用程序界面技術(shù)是OLE DB。OLE DB是一種底層編程接口,用來(lái)

78、訪問(wèn)許多不同類(lèi)型的數(shù)據(jù)源,其中包括消息、文件系統(tǒng)以及其他一些非傳統(tǒng)的數(shù)據(jù)源。OLE DB是一個(gè)由Component Object Model(COM)接口組成的集合,用來(lái)隱藏創(chuàng)建數(shù)據(jù)訪問(wèn)服務(wù)過(guò)程中的細(xì)節(jié)。OLEDB提供了訪問(wèn)任何數(shù)據(jù)資源的方法,包括相互關(guān)聯(lián)的數(shù)據(jù)庫(kù)和相互不關(guān)聯(lián)的數(shù)據(jù)庫(kù)、Email和文件系統(tǒng)、文本和圖形以及用戶(hù)定義的數(shù)據(jù)對(duì)象[20]。Delphi的ADO組件無(wú)需依靠BDE而是使用ADO技術(shù),提供了可以通過(guò)數(shù)據(jù)控制組件訪問(wèn)數(shù)

79、據(jù)的新方法。唯一的要求是在使用ADO組件時(shí)必須運(yùn)行ADO/OLE-DB。ADO組件的使用使得DELPHI在訪問(wèn)數(shù)據(jù)的類(lèi)型和采用的技術(shù)方面都有了很大的突破。</p><p>  第5章 圖書(shū)管理系統(tǒng)的功能實(shí)現(xiàn)</p><p><b>  5.1數(shù)據(jù)庫(kù)的連接</b></p><p>  通過(guò)它連接數(shù)據(jù)庫(kù)。數(shù)據(jù)模塊如圖5-1所示。</p>

80、<p><b>  圖5-1 數(shù)據(jù)模塊</b></p><p>  圖5-2 數(shù)據(jù)庫(kù)連接模塊</p><p>  點(diǎn)擊ADOConnection1組件,在“Object Inspector”窗口中,單擊ConnectionString屬性右側(cè)的【…】按鈕,彈出對(duì)話框,單擊“Build”選項(xiàng)在彈出的對(duì)話框中的“提供程序”選項(xiàng)卡中設(shè)置希望連接的數(shù)據(jù),單擊“下

81、一步”,選擇“連接”選項(xiàng)卡,設(shè)置連接相關(guān)設(shè)置,單擊測(cè)試連接,如果連接成功,則提示成功,單擊【確定】按鈕完成數(shù)據(jù)庫(kù)的連接。如圖5-3所示。</p><p>  圖5-3 數(shù)據(jù)鏈接屬性</p><p>  5.2主要功能模塊的詳細(xì)設(shè)計(jì)</p><p>  5.2.1 登錄窗口的設(shè)計(jì)</p><p>  登錄窗體是在整個(gè)程序運(yùn)行之前呈現(xiàn)給用戶(hù)的界面

82、,通過(guò)它來(lái)進(jìn)行用戶(hù)的合法性驗(yàn)證,需要添加兩個(gè)TEdit和兩個(gè)TLabel、TBitbutton組件,具體設(shè)計(jì)界面如圖5-4所示。</p><p><b>  圖5-4用戶(hù)登錄</b></p><p><b>  程序相關(guān)代碼:</b></p><p>  procedure TFormlogin.ButtonloginCl

83、ick(Sender: TObject);</p><p>  var dmScreenSettings: DEVMODE; // 設(shè)備模式</p><p>  begin try</p><p>  if trim(username.Text )='' then</p><p><b>  begin</b

84、></p><p>  application.MessageBox('用戶(hù)名為空,請(qǐng)輸入用戶(hù)名','輸入錯(cuò)誤',mb_iconinformation + mb_defbutton1);</p><p>  username.SetFocus ;</p><p><b>  exit;end;</b><

85、;/p><p>  if trim(userpwd.Text )='' then</p><p><b>  begin</b></p><p>  application.MessageBox('用戶(hù)密碼為空,請(qǐng)輸入密碼!','輸入錯(cuò)誤',mb_iconinformation + mb_defbut

86、ton1);</p><p>  userpwd.SetFocus ; exit;end;</p><p>  fm_data.Cd_login.Close;</p><p>  fm_data.Cd_login.CommandText:='selec * from Userlogin where UserName='+'''

87、;'+username.Text +''''+' and UserPwd='+''''+userpwd.Text +'''';</p><p>  fm_data.Cd_login.Execute;fm_data.Cd_login.Open;</p><p>  if f

88、m_data.Cd_login.RecordCount=0 then</p><p><b>  begin</b></p><p>  returnvalue:=application.MessageBox('該用戶(hù)記錄不存在,或者你的信息輸入錯(cuò)誤。請(qǐng)重新輸入信息!' ,'系統(tǒng)警告',mb_Iconstop+mb_RetryCance

89、l+mb_defbutton1);</p><p>  case returnvalue of</p><p>  mrRetry: begin</p><p>  logintimes:=logintimes+1;</p><p>  if(logintimes=3)then begin</p><p>  

90、returnpwd:=application.MessageBox('很抱歉!您已經(jīng)三次嘗試進(jìn)入本系統(tǒng),均不成功,系統(tǒng)將強(qiáng)制關(guān)閉!' ,'系統(tǒng)警告',mb_Iconstop+mb_OK+mb_defbutton1);</p><p>  case returnpwd of</p><p>  mROK:begin</p><p> 

91、 formlogin.Close; close;</p><p>  end;end;end;else begin</p><p>  username.Text:='';userpwd.Text :='';username.SetFocus ;</p><p>  exit;end;end;mrcancel:begin</p

92、><p>  formlogin.free;close;end;end;</p><p><b>  end else</b></p><p><b>  begin</b></p><p>  pepdom:= fm_data.Cd_login.FieldByName('Userpepdom

93、').AsString;</p><p>  fm_data.Cd_login.Close;</p><p>  fm_data.Cd_login.CommandText:='update Screen set width='''+inttostr(screen.Width )+''',height=''

94、9;+inttostr(screen.height)+''' where autoid=''001'''; fm_data.Cd_login.Execute;</p><p>  loged:=true;</p><p>  if pepdom='超級(jí)管理員' then begin</p>

95、<p>  frmmain:=Tfrmmain.Create(self);</p><p>  frmmain.WindowState:=wsMaximized;</p><p>  formlogin.Close;</p><p>  frmmain.ShowModal; end</p><p>  5.2.2 主窗體設(shè)計(jì)&l

96、t;/p><p>  通過(guò)本模塊可以實(shí)現(xiàn)系統(tǒng)的所有功能,主要用到的組件包括TMainMenu,TStatus-Bar,TToolBar和TimageList,界面設(shè)計(jì)如圖5-5所示。</p><p>  具體操作步驟是添加一個(gè)TMainMenu組件,右擊組件進(jìn)入Menu Designer界面對(duì)菜單進(jìn)行添加,每個(gè)菜單下都有子菜單,包括系統(tǒng)管理(書(shū)庫(kù)編目,書(shū)籍信息,讀者管理,借閱列表退出系統(tǒng)),查

97、詢(xún)(書(shū)庫(kù)查詢(xún),借閱查詢(xún),還書(shū)查詢(xún)),關(guān)于。再添加一個(gè)TToolBar組件,右擊組件,點(diǎn)擊New Button和New Separator進(jìn)行添加新按鈕和間隔,每個(gè)按鈕都有不同的功能。再添加一個(gè)TPanel組件,在panel組件上添加TLabel和Timage組件,TLabel組件用來(lái)填寫(xiě)系統(tǒng)的標(biāo)題,Timage組件用來(lái)添加窗體的背景圖片。</p><p>  圖5-5 主界面設(shè)計(jì)</p><p

98、>  點(diǎn)擊一個(gè)Menu按鈕就會(huì)出現(xiàn)相應(yīng)功能的窗體,部分代碼如下,此代碼進(jìn)入的是管理界面和查詢(xún)界面。相關(guān)程序代碼如下:</p><p>  procedure Tfrmmain.bookstackClick(Sender: TObject);</p><p><b>  begin</b></p><p>  frmbookquery:=t

99、frmbookquery.Create(SELF);</p><p>  frmbookquery.Show;end;</p><p>  procedure Tfrmmain.bookinfoClick(Sender: TObject);</p><p><b>  begin</b></p><p>  frmboo

100、kquery:=tfrmbookquery.Create(SELF);</p><p>  frmbookquery.Show;end;</p><p>  procedure Tfrmmain.readerinfoClick(Sender: TObject);</p><p><b>  begin</b></p><p&

101、gt;  frmuseradd:=tfrmuseradd.Create(SELF);</p><p>  frmuseradd.Show;end;</p><p>  procedure Tfrmmain.lentbookClick(Sender: TObject);</p><p><b>  begin</b></p><

102、;p>  frmselectreader:=tfrmselectreader.Create(SELF);</p><p>  frmselectreader.Caption:='讀者借閱信息登錄';</p><p>  frmselectreader.Show;end;</p><p>  procedure Tfrmmain.systemex

103、itClick(Sender: TObject);</p><p><b>  begin</b></p><p>  application.Terminate;close;end;</p><p>  procedure Tfrmmain.querybookClick(Sender: TObject);</p><p&g

104、t;<b>  begin</b></p><p>  frmbookquery:=tfrmbookquery.Create(SELF);</p><p>  frmbookquery.Show;end;</p><p>  procedure Tfrmmain.queryreaderClick(Sender: TObject);</p&

105、gt;<p><b>  begin</b></p><p>  frmreader.show;</p><p>  frmreader.FormCreate(sender);end;</p><p>  procedure Tfrmmain.querylentbookClick(Sender: TObject);</p&g

106、t;<p><b>  begin</b></p><p>  frmselectreader:=tfrmselectreader.Create(SELF);</p><p>  frmselectreader.Caption:='讀者借閱信息登錄';</p><p>  frmselectreader.Show;

107、end;</p><p>  procedure Tfrmmain.manageinitClick(Sender: TObject);</p><p>  beginmanset.Show ;manset.FormCreate(sender);end;</p><p>  procedure Tfrmmain.queryreturnbookClick(Sender:

108、 TObject);</p><p><b>  begin</b></p><p>  frmlentbook:=Tfrmlentbook.Create(self);</p><p>  frmlentbook.Show;</p><p>  end;在主窗體下方的TStatus-Bar中,顯示登錄的當(dāng)前用戶(hù)名和登錄日

109、期。</p><p>  procedure Tcfrm_mainform.FormCreate(Sender: TObject);</p><p><b>  begin</b></p><p>  tatus.Panels[0].Width:=350;</p><p>  status.Panels[1].Width

110、:=350;</p><p>  status.Panels[2].Width:=330;</p><p>  Status.Panels[0].Text:='歡迎您登錄圖書(shū)館客戶(hù)端管理系統(tǒng)!';</p><p>  Status.Panels[1].Text:='操作員:'+formlogin.username.Text;</

111、p><p>  Status.Panels[2].Text:='現(xiàn)在的日期是:'+datetostr(date)+' 時(shí)間是: '+timetostr(NOW);</p><p>  username:= formlogin.username.Text;end;</p><p>  5.2.3 書(shū)庫(kù)信息查詢(xún)管理模塊設(shè)計(jì)</p&g

112、t;<p>  書(shū)庫(kù)信息管理模塊主要實(shí)現(xiàn)了對(duì)館藏圖書(shū)信息進(jìn)行按照綜合查詢(xún)條件功能進(jìn)行查詢(xún),窗體設(shè)計(jì)如圖5-6所示。</p><p>  具體操作步驟是在窗體上添加DataGrid組件,再添加4個(gè)GroupBox組件。添加6個(gè)TComboBox組件,用于讀取數(shù)據(jù)庫(kù)中書(shū)籍大小類(lèi)的名稱(chēng),在此組件上添加TLabel和Tedit組件,在TLabel的caption屬性中填寫(xiě)字段名。再添加4個(gè)Tbutton按扭

溫馨提示

  • 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)論