已閱讀5頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 本文配套程序下載地址 : 無憂無慮畢設(shè)網(wǎng) ()-大學(xué)生畢業(yè)設(shè)計(jì)站 ,免費(fèi)畢業(yè)設(shè)計(jì)論文 ,無憂無慮畢設(shè)網(wǎng) 大學(xué)生畢業(yè)設(shè)計(jì) ,出售各類畢業(yè)設(shè)計(jì)源碼 ,論文 ,程序源碼 ,網(wǎng)站源碼 ,免費(fèi)視頻教程 ,我們將竭誠(chéng)為您服務(wù)! 前 言 1課題的研究意義 在信息飛速發(fā)展的今天,各個(gè)行業(yè)對(duì)信息包含的內(nèi)容、信息的容量、信息更新的速度等有了更高的要求。在信息管理尤其重要的某些領(lǐng)域,更是如此,圖書館對(duì)圖書的管理就是其中的一個(gè)。從最開始的由人工的手記信息,到計(jì)算機(jī)出現(xiàn)后應(yīng)用的一些低級(jí)軟件管理,到今天,一些功能不完善的圖書 管理系統(tǒng)已經(jīng)不能滿足像擁有十幾甚至幾十萬本圖書的大中型圖書館的信息管理。因此,開發(fā)功能強(qiáng)大、操作簡(jiǎn)單、更新能力強(qiáng)的圖書館管理系統(tǒng)就勢(shì)在必行,本次設(shè)計(jì)的內(nèi)容開發(fā)出功能強(qiáng)大、操作簡(jiǎn)單、更新能力強(qiáng)的圖書館管理系統(tǒng)。 圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理。他們以前對(duì)信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對(duì)于圖書借閱情況(如借書天數(shù)、超過限定借書時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用對(duì)借書卡的 人工檢查進(jìn)行,對(duì)借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計(jì)算、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯(cuò);由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書館有計(jì)算機(jī),但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯(cuò)率高,出錯(cuò)后不易更改。圖書館采取手工方式對(duì)圖書借閱情況進(jìn)行人工管理,由于信息比較多,圖書借無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 閱信息的管理工作混亂而又復(fù)雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書 館的工作人員和管理員也只是當(dāng)時(shí)對(duì)它比較清楚,時(shí)間一長(zhǎng),如再要進(jìn)行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費(fèi)時(shí)、費(fèi)力。如要對(duì)很長(zhǎng)時(shí)間以前的圖書進(jìn)行更改就更加困難了。 因此 , 很有必要 建立一個(gè) 這樣的 圖書管理系統(tǒng), 它 使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢和修改圖書情況。 目前,我國(guó) 各 學(xué)校圖書館辦館的要求及領(lǐng)先標(biāo)志就是藏書全部開放,師生共享開架借閱。這種借閱方式是當(dāng)前適合我國(guó)國(guó)情的發(fā)揮圖書館應(yīng)有作用的最佳方式,也是素質(zhì)教育的最好體現(xiàn)。它充 分發(fā)揮了圖書館的功效,最大限度地為讀者服務(wù),這也是圖書館自動(dòng)化管理的最終目標(biāo)。實(shí)現(xiàn)這一目標(biāo),必須有現(xiàn)代化的管理手段和管理體制。為此,各地教育主管部門都逐步提出學(xué)校要采用圖書館管理系統(tǒng),從而實(shí)現(xiàn)人工管理做不到的一些功能并發(fā)揮圖書館的最大效益。而隨著越來越多的學(xué)校采用了現(xiàn)代化的管理軟件進(jìn)行管理,進(jìn)一步提升了學(xué)校管理的現(xiàn)代化水平,從而在競(jìng)爭(zhēng)中處于有利位置,也對(duì)其他兄弟學(xué)校起到了示范和促進(jìn)作用。 圖書 館 管理系統(tǒng)是典型的管理信息系統(tǒng) (MIS),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前 者要求建立起數(shù)據(jù)一致性和完整性 強(qiáng), 數(shù)據(jù)安全性好的庫 ,本產(chǎn)品采用的是 SQL Sever 來建庫, 于后者則要求應(yīng)用程序功能完備 ,容 易使用 ,這里用 C+builder7 來進(jìn)行開發(fā) 。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 2國(guó)內(nèi)外有關(guān)信息 在國(guó)外,尤其是信息技術(shù)高度發(fā)達(dá)的國(guó)家,對(duì)像圖書館管理系統(tǒng)這樣的應(yīng)用軟件的開發(fā)已經(jīng)發(fā)展的相當(dāng)成熟。而在我國(guó),由于信息技術(shù)尚屬起步階段,各類息管理系統(tǒng)的功能相當(dāng)不完善,因此對(duì)這類功能強(qiáng)大、操作簡(jiǎn)單、更新能力強(qiáng)的信息管理系統(tǒng)的開發(fā)就顯得尤其重要。完善其功能更是當(dāng)務(wù)之急。 數(shù)據(jù)管理技術(shù)經(jīng)歷了人工管理、文件管理和數(shù)據(jù) 庫系統(tǒng) 3個(gè)階段。當(dāng)今世界圖書館管理系統(tǒng)的發(fā)展趨勢(shì)是應(yīng)用計(jì)算機(jī)技術(shù)代替原來的人工管理。隨著計(jì)算機(jī)技術(shù)的發(fā)展,圖書館的計(jì)算機(jī)管理技術(shù)越來越智能化,且隨著計(jì)算機(jī)技術(shù)的普及,數(shù)據(jù)信息處理技術(shù)得到了空前發(fā)展,這就使通過運(yùn)用數(shù)據(jù)庫技術(shù)來管理圖書成了唯一趨勢(shì)。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 第一章 系統(tǒng)分 析 1 1 需求分析 一般通用的圖書館管理系統(tǒng)包括系統(tǒng)管理、讀者管理、編目、圖書流通、統(tǒng)計(jì)、查詢等功能。比較先進(jìn)的能夠在一個(gè)界面下實(shí)現(xiàn)圖書、音響、期刊的管理,設(shè)置假期、設(shè)置暫離鎖(提高安全性)、暫停某些讀者的借閱權(quán)、導(dǎo)入導(dǎo)出讀 者、交換 MARC 數(shù)據(jù)升級(jí)輔助編目庫等。此外組隨著 Internet 應(yīng)用的發(fā)展,一個(gè)完善的系統(tǒng)還應(yīng)提供無縫接入Internet 的功能,通過 IE 瀏覽器讓讀者使用借閱資料查詢、更換密碼、預(yù)約、資料檢索等功能。有些系統(tǒng)還能提供讀者自助服務(wù)、檢索資料等。 下面介紹通用圖書館管理系統(tǒng)所必備的功能,如圖 1-1 所示,其中每個(gè)功能都由若干個(gè)相關(guān)聯(lián)的子功能模塊組成。除此之外系統(tǒng)還應(yīng)包括信息系統(tǒng)必須具備的通用功能,例如權(quán)限設(shè)置、數(shù)據(jù)備份與恢復(fù)等。 圖 1-1 圖書館管理系統(tǒng) 功能模塊圖 圖書館管理系統(tǒng) 基礎(chǔ)信息維護(hù) 讀者管理 圖書管理 期刊流通管理 圖書流通管理 期刊管理 統(tǒng)計(jì)分析管理 系統(tǒng)管理 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 1 1.1 流通管理 圖書借閱者 信息管理主要目的是為了明確 圖書借閱者 的類型和詳細(xì)信息,為管理 圖書借閱者 創(chuàng)造良好環(huán)境。 統(tǒng)計(jì)信息管理的主要功能是對(duì)借閱的圖書進(jìn)行查詢、查詢已歸還的圖書、查詢超期圖書、查詢借閱圖書排行,因此該功能模塊有 4 個(gè)子功能模塊:圖書借閱查詢,圖書歸還查詢,圖書超期查詢,圖書借閱排行。 基礎(chǔ)信息管理的主要功能是設(shè)置圖書館基礎(chǔ)信息、用戶修改密碼、書架設(shè)置,因此該功能模塊有 3 個(gè)子功能模塊:圖書館基礎(chǔ)信息,密碼修改,書架設(shè)置。 系統(tǒng)信息管理主要功能是設(shè)置用戶權(quán)限和備份數(shù)據(jù)庫,所以該 模塊可以用兩個(gè)子模塊來實(shí)現(xiàn)其功能。 圖書館流通管理 圖書借閱 圖書歸還 圖書續(xù)借 圖書預(yù)約 圖書檔案管理 圖書罰款 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 1-2 流通系統(tǒng)功能模塊圖 圖書借閱:用于登記讀者借閱圖書的紀(jì)錄并減少圖書在庫的庫存,登記內(nèi)容包括借閱編號(hào)、圖書編號(hào)、讀者編號(hào)、押金、借閱時(shí)間、應(yīng)還時(shí)間、操作員等。 圖書歸還:用于登記讀者歸還圖書的記錄比增加圖書在庫的庫存,登記內(nèi)容包括歸還編號(hào)、圖書編號(hào)、讀者編號(hào)、退還押金、歸還時(shí)間、操作員等。 圖書續(xù)借 : 用于登記讀者到期圖書的續(xù)借記錄。 圖書罰款:用于對(duì)圖書超期、丟失等情況的罰款管理,內(nèi) 容包括罰款編號(hào)、圖書編號(hào)、讀者編號(hào)、罰款日期、應(yīng)罰日期、實(shí)收金額、是否交款、備注等。 圖書檔案管理:用于設(shè)置圖書相關(guān)設(shè)置的信息,內(nèi)容包括編號(hào)、條形碼、書名、類型、作者、譯者、 ISBN、出版社、價(jià)格、頁碼、書架名稱、現(xiàn)存量、庫存總量、入庫時(shí)間、操作員、簡(jiǎn)介、續(xù)借次數(shù)、等。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 1 1.2 系統(tǒng)流程圖 系統(tǒng)流程圖如圖 1-2所示 圖 1-3 系統(tǒng)流程圖 圖書信息 讀者信息 流通管理 讀者管理 管理員 圖書借閱 圖書歸還 圖書征訂 預(yù)約續(xù)借 罰款管理 圖書管理 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 系統(tǒng)登錄流程圖如 1-3所示 N Y 圖 1-4 系統(tǒng)登錄流程圖 Y Y N N 開始登陸 輸入用戶名 用戶名不為空 ? 輸入密碼 密碼不為空 ? 打開用戶權(quán)限 用戶權(quán)限驗(yàn)證 ? 2quanxian yanzh 登陸成功 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 1 2 系統(tǒng)數(shù)據(jù)流圖 預(yù)定 操作請(qǐng)求 操作答復(fù) D1 圖書 借書 操作請(qǐng)求 操作答復(fù) D2 借書信息 圖 1-5 圖書庫存管理數(shù)據(jù)流程圖 借書 續(xù)借 D1 庫存圖書 D2 借書情況 讀者 管理員 讀者 圖書檔案管理 借書管理 讀者 讀者 符合結(jié)束條件 借閱信息處理 管理員 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 1-6 借書處理數(shù)據(jù)流程 第二章 概要設(shè)計(jì) 根據(jù)上一章系統(tǒng)分析,一個(gè)基本的圖書館系統(tǒng)數(shù)據(jù)庫中大概包括40 多張數(shù)據(jù)表,分別存放在相應(yīng)的子功能的數(shù)據(jù)信息,其中“讀者信息”和“圖書信息”是關(guān)鍵的表用于存放圖書館讀者的信息和文獻(xiàn)信息, 圖書館管理系統(tǒng)實(shí)際上就是對(duì)讀者和文獻(xiàn)的管理。其他涉及讀者信息和文獻(xiàn)信息的數(shù)據(jù)表,都只記錄相應(yīng)的編號(hào),根據(jù)作為外鍵的“編號(hào)”字段相對(duì)應(yīng)。因此“讀者信息”、“圖書信息”和其它數(shù)據(jù)標(biāo)的關(guān)系是 1:N的關(guān)系。 2.1 圖書館管理系統(tǒng) E-R 圖 因?yàn)檎麄€(gè)系統(tǒng)涉及的實(shí)體和屬性較多,限于篇幅也不能也沒必要一一列舉。下面是圖書館管理系統(tǒng)關(guān)鍵實(shí)體的 E-R圖。 圖 2-1 已借閱圖書實(shí)體圖 已借閱圖書實(shí)體 借閱編號(hào) 圖書編號(hào) 讀者編號(hào) 借閱時(shí)間 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 2-2 已歸還圖書 實(shí)體圖 圖 2-3 讀者實(shí)體圖 已歸還圖書實(shí)體 歸還編號(hào) 圖書編號(hào) 讀者編號(hào) 歸還時(shí)間 讀者 姓名 住址 班級(jí) 電話 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 由系統(tǒng) E-R圖可以快速、方便地看出圖書、管理員、讀者、罰款信息各實(shí)體間的關(guān)系,如下圖所示 M N P 1 1 1 1 Q 圖 2-4 系統(tǒng) E-R圖 讀者 借閱超期 借還 罰款 罰款信息 圖書 圖書預(yù)約 管理員 類型 信息 編號(hào) 權(quán)限 日期 數(shù)額 類型 信息 借閱日期 還書日期 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 第三章 邏輯結(jié)構(gòu)設(shè)計(jì) 3.1 C+builder 簡(jiǎn)介 Borland C+builder 是 inprise(borland)公司推出的基于 C+語言的快速應(yīng)用程序開發(fā)( rapid application development,RAD)工具。C+Builder 充分利用已經(jīng)成熟發(fā)展的 Delphi的可視化組件庫 (visual component library,VCL),吸收 Borland C+ 優(yōu)秀編譯器諸多優(yōu)點(diǎn),結(jié)合先進(jìn)的基于組件的程序設(shè)計(jì)技術(shù)已成為一個(gè)非常成熟的可視化應(yīng)用程序開發(fā)工具 ,可以快速、高效地開發(fā)出基于 Windows 環(huán)境的各類程序 ,尤其在數(shù)據(jù)庫應(yīng)用和網(wǎng)絡(luò)應(yīng)用方面 , C+builder更是一個(gè)十分理想的軟件開發(fā)平臺(tái)。 3.1.1 C+builder 的可視化開發(fā)環(huán)境 一般的用戶的應(yīng)用程序是由應(yīng)用程序界面和數(shù)據(jù)處理兩部分組成 ,如在 Windows 應(yīng)用程序中單擊窗體中的菜單或按鈕 (用戶界面 )來執(zhí)行某一命令或完成某一操作(數(shù)據(jù)處理 )。這種基于窗體的應(yīng)用程序運(yùn)用 C+builder 這樣的可視化開發(fā)工具后,用戶界面的設(shè)計(jì)過程如同“搭積木”一樣,只需根據(jù)需要在窗體上放置各種組件(“積木”),并根據(jù)需要改變它(們)的位置(或外觀),程序員不必編寫大量的代碼來實(shí)現(xiàn)界面功能,因而可以把主要精力集中在關(guān)鍵代碼的設(shè)計(jì)上。 Windows 平臺(tái)下常用的可視化開發(fā)工具(編程環(huán)境)有Inprise(Borland)公司的 delphi、 C+builder, Microsoft 公司的無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: Visual Basic等。 Inprise(Borland)公司還提供與 delphi相似的 linux下的可視化開發(fā)工具 Kylix,它也是 Linux 平臺(tái)下市場(chǎng)占有率最高的RAD 工具。通過這些工具,程序員可以直觀的使用圖形化工具來創(chuàng)建Windows應(yīng)用程序。 C+builder 的集成開發(fā)環(huán)境( IDE)使程序員可以利用一組窗體、菜單和其他組件,并使用可視化的方式( WYSIWYG-what you see is what you get,即所見所得)來設(shè)計(jì)應(yīng)用程序的界面,將代碼和事件與界面中的某一元素建立聯(lián)系,并對(duì)整個(gè)應(yīng)用程序調(diào)試 3.1.2 數(shù)據(jù)庫組件介紹 用 C+builder開發(fā)數(shù)據(jù)庫應(yīng)用 , 重點(diǎn)是和各種數(shù)據(jù)庫組件打交道 ,能和數(shù)據(jù)庫掛鉤的組件對(duì)象有 5種 , 它們是 : Session( 數(shù)據(jù)庫會(huì)話 ) 、Database( 數(shù)據(jù)庫 ) 、 Dataset( 數(shù)據(jù)集 ) 、 DataSource( 數(shù)據(jù)源 ) 、 Data control( 數(shù)據(jù)控制組件 , 也叫 data-controls 即數(shù)據(jù)感知組件 ) 。其中前面 4種統(tǒng)稱為數(shù)據(jù)訪問( Data Access)組件。 ADO 組件 C+builder 包含了可以用來訪問 Microsoft 公司的ActiveX Data Objects( ADO)格式數(shù)據(jù)庫的組件。 ADO是 Micrsoft公司關(guān)于各種類型數(shù)據(jù)的高等界面,后來逐漸演變成滿足所有數(shù)據(jù)訪問需要的完整解決辦法。 ADO 的對(duì)象模型是所有數(shù)據(jù)訪問接口對(duì)象模型中最簡(jiǎn)單的一種。 Microsoft 公司用來訪問 ADO數(shù)據(jù)的應(yīng)用程序界面技術(shù)是 OLE DB。 OLE DB 是一種底層編程接口,用來訪問許多不同類型的數(shù)據(jù)源, 其中包括消息、文件系統(tǒng)以及其他一些非傳統(tǒng)的數(shù)據(jù)源。 OLE DB是一個(gè)由 Component Object Model( COM)接口組成的集合,用來隱藏創(chuàng)建數(shù)據(jù)訪問服務(wù)過程中的細(xì)節(jié)。 OLE DB 提供了訪問任何數(shù)據(jù)資源的方法,包括相互關(guān)聯(lián)的數(shù)據(jù)庫和相互不關(guān)聯(lián)的數(shù)據(jù)庫、 Email和文件系統(tǒng)、文本和圖形以及用戶定義的數(shù)據(jù)對(duì)象。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: C+builder 的 ADO 組件無需依靠 BDE 而是使用 ADO 技術(shù),提供了可以通過數(shù)據(jù)控制組件訪問數(shù)據(jù)的新方法。唯一的要求是在使用 ADO 組件時(shí)必須運(yùn)行 ADO/OLE DB。 ADO 組件的使用使得 C+BUILDER 在訪問數(shù)據(jù)的類型和采用的技術(shù)方面都有了很大的突破。 使用 ADO 控件訪問SQL Server數(shù)據(jù)庫時(shí),通常需要做以下幾件事情: ( 1) C+builder 中的 Form 窗體或 Data Module 中添加 ADO 數(shù)據(jù)控件; ( 2) 使用 ADO 數(shù)據(jù)控件連接到一個(gè) SQL Server 數(shù)據(jù)庫; ( 3) 將 ADO 數(shù)據(jù)控件連接到一個(gè)或多個(gè)數(shù)據(jù)綁定控件 3.1.3 SQL語言在 C+builder 中的應(yīng)用 在 C+builder 中使用 SQL 語言非常方便,一般來說,都是通過Tquery 或 TADOquery 組件來使用 SQL 語言的??梢栽?Tquery 或TADOquery組件的 SQL屬性中設(shè)置 SQL語句。設(shè)計(jì)程序時(shí),在該組件的屬性對(duì)話框中選擇 SQL屬性,單擊帶省略號(hào)的按鈕,就可以打開 String List Editor對(duì)話框,然后我們就可 以在對(duì)話框中添加 SQL語句。還可以使用 C+builder 的 SQL Builder 來自動(dòng)生成 SQL語句,這樣可以避免手工編寫 SQL 而可能造成的語法錯(cuò)誤。 靜態(tài) SQL 語句在程序設(shè)計(jì)時(shí)便已固定下來,它不包含任何參數(shù)和變量。 動(dòng)態(tài) SQL 語句,也被稱作參數(shù)化的語句,在其中間包含著表示字段名或表名的參 數(shù)。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 3.2 圖書館信息管理系統(tǒng)數(shù)據(jù)庫的建立 一個(gè)成功的信息管理系統(tǒng),是建立在許多條件之上的,而數(shù)據(jù)庫是其中一個(gè)非常重要的條件和關(guān)鍵技術(shù) 。 本系統(tǒng)是一個(gè)功能簡(jiǎn)單,單機(jī)使用的軟件。 基本表的個(gè)數(shù)越少越 好 , 主鍵的個(gè)數(shù)越少越好 , 鍵是表間連接的工具,主鍵越少,表間的連接就越簡(jiǎn)單 , 字段的個(gè)數(shù)越少越好 , 所有基本表的設(shè)計(jì)均應(yīng)盡量符合第三范式。 考慮到這些因素,選用 SQL 作為后臺(tái)數(shù)據(jù)庫。根據(jù)需求分析,并依據(jù)數(shù)據(jù)庫設(shè)計(jì)技術(shù),為圖書館管理系統(tǒng)建立一個(gè)數(shù)據(jù)庫。該數(shù)據(jù)庫包含 13 個(gè)表格,本人實(shí)現(xiàn)的模塊用到 8個(gè)表格如下所示: 如表 3-1 所示,讀者信息表對(duì)讀者信息進(jìn)行設(shè)置,包括條形碼、編號(hào)、姓名、性別、類型、出生日期、有效證件、證件號(hào)碼、聯(lián)系方式、登記日期、有效期至、操作員、備注、是否掛失字段,設(shè)置編號(hào)為主鍵 。 表 3-1 讀者信息 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 如表 3-2 所示,圖書借閱表設(shè)置已借出書籍的信息,包括借閱編號(hào)、圖書編號(hào)、讀者編號(hào)、借閱時(shí)間、應(yīng)還時(shí)間、操作員、狀態(tài)字段,設(shè)置借閱編號(hào)為主鍵。 表 3-2 圖書借閱 如表 3-3 所示,圖書歸還表設(shè)置歸還圖書的信息,包括歸還編號(hào)、圖書編號(hào)、讀者編號(hào)、退還押金、歸還時(shí)間字段,設(shè)置歸還編號(hào)為主鍵。 表 3-3 圖書歸還 如表 3-4 所示,管理員表對(duì)用戶權(quán)限 進(jìn)行設(shè)置,包括編號(hào)、名稱、密碼、讀者信息、圖書信息、流通管理、統(tǒng)計(jì)信息、基礎(chǔ)信息、系統(tǒng)信息字段,設(shè)置編號(hào)為主鍵。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 表 3-4 權(quán)限設(shè)置 如表 3-5 所示,圖書罰款表對(duì)顯示超期圖書的信息,包括罰款編號(hào)、圖書編號(hào)、讀者編號(hào)、罰款日期、應(yīng)罰金額、實(shí)收金額、是否交款、備注字段,設(shè)置罰款編號(hào)為主鍵。 表 3-5 圖書罰款 通過設(shè)置表的主鍵和外鍵,系統(tǒng)生成的數(shù)據(jù)庫表關(guān)系 圖如圖 3-1: 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 3-1 數(shù)據(jù)表關(guān)系圖 由上圖可以看出圖書借閱表與圖書信息表一對(duì)一關(guān)聯(lián),圖書歸還表與圖書信息表一對(duì)一關(guān)聯(lián),圖書罰款表與圖書信息表一對(duì)一關(guān)聯(lián),圖書罰款表與讀者信息表一對(duì)一關(guān)聯(lián)。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 第四章 圖書館流通系統(tǒng)詳細(xì)設(shè)計(jì) 4.1 具體功能模塊的實(shí)現(xiàn) 系統(tǒng)先由登錄窗體通過權(quán)限設(shè)置進(jìn)入主窗體界面,各功能由其子窗體實(shí)現(xiàn),可以實(shí)現(xiàn)圖書借閱、圖書歸還、圖書罰款、圖書預(yù)約、圖書續(xù)借、圖書檔案管理 6 個(gè)子窗體功能模塊,還可以實(shí)現(xiàn)數(shù)據(jù)庫備份功能。 4.1.1 登錄功能 的實(shí)現(xiàn) 這里用戶輸入用戶名和密碼,通過 adoquery 控件訪問已建好的數(shù)據(jù)庫,若正確則成功登錄進(jìn)入主界面,若不正確則提示錯(cuò)誤信息,并且用戶會(huì)根據(jù)用戶的權(quán)限激活主界面相應(yīng)的菜單和工具按鈕。設(shè)計(jì)界面如圖 4-1 所示 圖 4-1 系統(tǒng)登錄界面 adoquery 與 adotable 連接數(shù)據(jù)庫的方式相同,點(diǎn)擊各自的connectionstring 屬性右邊的省略號(hào),出現(xiàn)如下圖 4-2界面,然后再點(diǎn)新出來界面的 Build按鈕,出現(xiàn)圖 4-2所示界面,選擇所需數(shù)據(jù)庫,測(cè)試鏈接成功后就表示與數(shù)據(jù)庫連接好了。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 4-2 數(shù)據(jù)鏈接屬性圖 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 4.1.2 主窗體設(shè)計(jì) 系統(tǒng)主窗體界面主要用來管理各個(gè)功能模塊,要進(jìn)入相應(yīng)子模塊必須先進(jìn)入主界面,主窗體包括的菜單項(xiàng)有讀者信息、圖書信息、流通管理、統(tǒng)計(jì)管理、基礎(chǔ)信息、系統(tǒng)信息、退出。讀者信息下有子菜單讀者類別設(shè)置、讀者檔案管理;圖書類別設(shè)置、圖書檔案管理;流通管理下有子菜單圖書借閱、圖書征訂、圖書歸還、圖書罰款;統(tǒng)計(jì)信息下有子菜單圖書借閱查詢、圖書歸還查詢、圖書罰款查詢、圖書借閱排行 ;基礎(chǔ)信息下面有子菜單圖書館基礎(chǔ)信息、密碼修改、書架設(shè)置;系統(tǒng)信息下有子菜單權(quán)限設(shè)置、數(shù)據(jù)庫備份。主界面設(shè)計(jì)如圖4-3所示: 圖 4-3 系統(tǒng)主界面 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 4.1.3 系統(tǒng)維護(hù)父窗體 該系統(tǒng)中有幾個(gè)子功能模塊實(shí)現(xiàn)方法類似,所以采用系統(tǒng)維護(hù)父窗體進(jìn)行設(shè)計(jì),繼承過來的窗體具有父窗體的所有屬性、功能。 該窗體中最上一排是工具欄,可以對(duì)信息進(jìn)行修改,保存,取消。選擇方向鍵可以查看首記錄,上記錄,下記錄,尾記錄。通過分別設(shè)置 adotable控件與 adoquery控件的 connectionstring 屬 性使二者與數(shù)據(jù)庫相連,由 adoquery控件來訪問已建好的數(shù)據(jù)庫,根據(jù)各功能模塊需要, adotable 控件可以與數(shù)據(jù)庫中特定的表相連接,進(jìn)而使adoquery 訪問數(shù)據(jù)庫中指定的表,將符合查詢條件的信息顯示在界面上。當(dāng) adoquery 訪問的表不只一個(gè)時(shí), adotable不能與單個(gè)表連接 4.1.4 圖書借閱模塊設(shè)計(jì) 該功能模塊的窗體是繼承維護(hù)父窗體得來的, adotable 的tablename屬性設(shè)置為圖書借閱,主要是查詢已借閱圖書的信息,包括借閱編號(hào)、圖書編號(hào)、讀者編號(hào)、借閱時(shí)間,應(yīng)還時(shí)間等信息。 圖如下: 圖 4-4 圖書借閱窗體 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: Tform*pFrom = FormExist(“圖書借閱” ) sql = insert into 圖書借閱 (圖書編號(hào) , 讀者編號(hào) , 借閱時(shí)間 , sql += 應(yīng)還時(shí)間 , 續(xù)借次數(shù) , 操作員 , 狀態(tài) ) 按照編號(hào)輸入讀者信息后回車,顯示讀者信息和可借冊(cè)數(shù),按編號(hào)輸入圖書信息后回車,可以查詢圖書的狀態(tài)信息,點(diǎn)擊借閱,借閱成功后界面如下圖所示: 圖 4-5 圖書借閱 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 4-6 圖書已經(jīng)借出 4.1.5 圖書歸還模塊設(shè)計(jì) 該窗體 是繼承父窗體來的, adotable 的 tablename 屬性設(shè)置為圖書歸還,主要功能是查詢已歸還圖書的信息。包括歸還編號(hào)、圖書編號(hào)、讀者編號(hào)、歸還時(shí)間等信息。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 4-7 圖書歸還窗體 Tform*pFrom = FormExist(“圖書歸還” ) 圖書歸還時(shí),按要求輸入讀者編號(hào),則顯示該讀者的借書信息,未還記錄等,出現(xiàn)下面窗體: 圖 4-8 圖書歸還查詢 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 點(diǎn)擊歸還選擇的圖書,則歸還該書,如果超過還書日期則會(huì)提示罰款,如下面窗體所示: 圖 4-9 歸還圖書罰款提示 4.1.6 圖書罰 款模塊設(shè)計(jì) 該窗體是在繼承父窗體的基礎(chǔ)上設(shè)計(jì)出來的,增加了一個(gè)adoquery控件,還添加了 adocommand 控件,這樣在編程的時(shí)候思路比較清晰, 程序也不容易受到干擾。 Adocommand 與 adoquery 的用途和方法相似,只不過后者比前者功能更全面,在本窗體中只用于訪問數(shù)據(jù)庫,兩者都能實(shí)現(xiàn)該功能。由于 adoquery控件要訪問圖書信息,讀者信息,圖書罰款 3個(gè)表,所以 adotable 的 tablename 屬性不用設(shè)置。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 4-10 圖書罰款窗體 Tform*pFrom = FormExist(“圖書罰款” ) 按要求輸入讀者編號(hào)等信息則可以查看該讀者的罰款信息,包括應(yīng)罰金額,實(shí)還金額和罰款日期等,如下圖所示: 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 4-11 查看圖書罰款信息 4.1.7 圖書檔案管理模塊設(shè)計(jì) 該窗體是繼承父窗體來的, adotable 的 tablename 屬性設(shè)置為圖書檔案管理,主要功能是設(shè)置圖書相關(guān)的信息。包括編號(hào)、書名 、類型、作者、出版社、價(jià)格、現(xiàn)存量、庫存總量、入庫時(shí)間等。 圖 4-12 圖書檔案管理窗體 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: Tform*pFrom = FormExist(“圖書檔案管理” ) 進(jìn)入圖書檔案管理, 按要求輸入相關(guān)信息就可以查詢圖書和讀者的相關(guān)信息,以及包括新增,修改,刪除等功能。如下圖所示: 圖 4-13 查看圖書檔案信息 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 第五章 系統(tǒng)調(diào)試程序與測(cè)試 軟件編程者對(duì)程序的調(diào)試這一步驟是必不可少的,而且也是系統(tǒng)設(shè)計(jì)中一個(gè)很重要的環(huán)節(jié)。此次畢設(shè)中遇到了許多問題。這里把系統(tǒng)設(shè)計(jì)中的一些主要問題簡(jiǎn)略介紹一下。 在整個(gè)系統(tǒng)設(shè)計(jì)過程中,開始設(shè)計(jì)主窗體時(shí),由于主窗體是對(duì)所有系統(tǒng)子窗體進(jìn)行統(tǒng)一調(diào)度,在調(diào)用子窗體單元時(shí),經(jīng)常忘記在implementation 后面引用子窗體的單元,這將導(dǎo)致程序語法錯(cuò)誤。例如 : implementation uses LoginForm,BorrowForm,ReturnForm,LibInfForm,BookShellForm,ManageForm,PswdchForm,TopForm,BookCancelForm,UserSettingForm,UserDocuForm,BookSettingForm,BookDocuForm,BookOrderForm,BookBorrowForm,BookReturnForm,BookOverdueForm,ForfeitForm; 在登 錄系統(tǒng)設(shè)計(jì)方面 , 本來想程序剛運(yùn)行時(shí)先出現(xiàn)登錄窗體 , 登錄成功后再?gòu)棾鲋鞔绑w , 但由于主窗體是 MDI 的 MainForm,這項(xiàng)功能難以實(shí)現(xiàn)。因此改為運(yùn)行后直接出現(xiàn)未激活任何功能的主窗體和登錄窗體 , 將 project/options/Forms 中的自動(dòng)創(chuàng)建窗體項(xiàng)設(shè)置為 main,并在主窗體 Oncreate 事件中創(chuàng)建 Login 窗體 , 但運(yùn)行后系統(tǒng)出現(xiàn)錯(cuò)誤,如圖 5-1所示 : 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 5-1 錯(cuò)誤提示 1 錯(cuò)誤可能出現(xiàn)在主窗體的 Oncreate 事件中,在經(jīng)過多次嘗試后,取消這個(gè)事件,而在主窗體中添 入一個(gè) Timer控件,當(dāng)它觸發(fā) Ontimer事件后,創(chuàng)建 Login窗體,此功能正常實(shí)現(xiàn)。 在系統(tǒng)數(shù)據(jù)錄入窗體設(shè)計(jì)中,剛開始沒有控制 Edit 編輯框中可以懸空,當(dāng)錄入信息的 Edit 的 text 屬性為空時(shí),單擊保存,系統(tǒng)進(jìn)入死循環(huán),彈出報(bào)錯(cuò)對(duì)話框。如圖 5-2所示: 圖 5-2 錯(cuò)誤提示 2 遇到這種情況時(shí),要用 If條件語句控制編輯中的 Text可以為空,把空字符串賦給 Edit 就可以實(shí)現(xiàn),當(dāng) Text 為空時(shí),庫存系統(tǒng)彈出提示信息,“資料輸入不全!”,詳細(xì)程序?yàn)椋?if (edit1.Text=)or (edit2.Text=)then messageDlg(資料輸入不全! ,mtwarning,mbok,0) else with ADOTable1 do begin open ; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: append; fieldvalues名稱 :=trim(edit1.Text); fieldvalues密碼 :=trim(edit2.Text); end; 在用戶及權(quán)限窗體設(shè)計(jì)中,也出現(xiàn)了一個(gè)的問題,就是每次 新增用戶時(shí),如果沒有選擇各權(quán)限的 Dbcheckbox,這時(shí)直接單擊“保存”工具欄按鈕,系統(tǒng)出現(xiàn)報(bào)錯(cuò)信息,如圖 5-3所示。 圖 5-3 錯(cuò)誤提示 3 根據(jù)提示信息,說明不能將空數(shù)值插入“管理員” 表的“讀者管理” 字段中,但由于在編程時(shí)對(duì) DBCheckbox 是否選中的屬性設(shè)置未知,因此將數(shù)據(jù)庫“管理員”表的各個(gè)權(quán)限字段默認(rèn)值設(shè)置為“ T” ,這樣在添加用戶時(shí)可以省去不少操作,使操作更簡(jiǎn) 單。 還有應(yīng)該注意,由于父窗體里面已經(jīng)對(duì)窗體關(guān)閉事件編程,實(shí)現(xiàn)關(guān)閉窗體后釋放內(nèi)存,所以凡是 繼承來的窗體就不必再進(jìn)行這一工作的,而非繼承來的窗體都必須編程實(shí)現(xiàn)窗體關(guān)閉后釋放內(nèi)存,如果不這樣的話,在程序運(yùn)行后桌面會(huì)出現(xiàn)幾個(gè)窗體,占用內(nèi)存空間。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 通過已借閱圖書的借閱編號(hào)和圖書編號(hào)以及讀者編號(hào)可以查詢到相應(yīng)的圖書信息。由于開始父窗體中沒有模糊查詢,當(dāng)進(jìn)行借閱查詢沒有輸入查詢條件時(shí)系統(tǒng)報(bào)錯(cuò),如圖 5-4所示: 圖 5-4 錯(cuò)誤提示 4 在 設(shè) 計(jì) 借 閱 查 詢 窗 體 時(shí) , 由 于 SQL 語言adoquery1.sql.Add(select top 10 with ties * from 圖書信息 order by 借出次數(shù) desc);語句中少寫了 * ,運(yùn)行后進(jìn)行借閱前10名查詢時(shí)系統(tǒng)報(bào)錯(cuò),報(bào)錯(cuò)信息框如圖 5-5所示: 圖 5-5 錯(cuò)誤提示 5 在設(shè)計(jì)書架設(shè)置窗體時(shí),由于是繼承父窗體得來的,在刪除該窗體不需要用到的 adoquery控件時(shí)系統(tǒng)報(bào)錯(cuò),如圖 5-6所示 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 圖 5-6 錯(cuò)誤提示 6 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 第六章 結(jié) 論 本次設(shè)計(jì)是是對(duì)數(shù)據(jù)庫技術(shù),軟件工程,編程技術(shù)的一次綜合實(shí)踐。在系統(tǒng)開發(fā)階段之前,要全面、細(xì)致地調(diào)查研究,全面的需 求分析,明確用戶的需求。通過需求分析,得出系統(tǒng)的功能模塊,并根據(jù)需求分析的結(jié)果,建立相應(yīng)的數(shù)據(jù)庫。建庫的時(shí)候考慮要周全,還要盡量符合建立數(shù)據(jù)庫的相關(guān)理論,明確各表之間的關(guān)系。而編程時(shí)則要盡量模塊化,避免代碼的過多重復(fù)。 本系統(tǒng)實(shí)現(xiàn)了圖書館管理系統(tǒng)流通系統(tǒng)的最基本的管理功能,但是仍然存在很多不足的地方,做需求分析時(shí)也還有很多沒考慮到情況。如:本系統(tǒng)的數(shù)據(jù)庫建得還不夠科學(xué),有些字段根本沒有必要。另外,本系統(tǒng)沒有考慮到丟書、期刊的管理等圖書館管理中實(shí)際存在的問題。希望有興趣對(duì)本系統(tǒng)進(jìn)行改進(jìn)的人能將這些問題 考慮進(jìn)去。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 致 謝 本次畢業(yè)設(shè)計(jì)得到了指導(dǎo)老師方芳老師的精心指導(dǎo),這對(duì)畢業(yè)設(shè)計(jì)的順利完成起了重要作用。 在制作過程中同組同學(xué)江佐華同學(xué)給了很大的幫助,檢查老師趙敏老師、黃麗珍老師等指出了軟件存在的一些問題 ,并給出了一些很好的建議,軟件的質(zhì)量得到提高,自己的能力也得到了提高。本次設(shè)計(jì)順利完成是老師和同學(xué)的幫助,在此一并表示感謝。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 參考文獻(xiàn) 1 宋靜 .學(xué)生信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) J.計(jì)算機(jī)與數(shù) 字工程, 2008( 8) 2 陸衛(wèi)忠、劉文亮 .C+Builder6程序設(shè)計(jì)教程 M,北京:科學(xué)出版社, 2005 3 侯識(shí)忠 .數(shù)據(jù)結(jié)構(gòu)算法 -C+Builder6.0 程序集 M.北京:中國(guó)水利水電出版 4 李進(jìn) . 軟件工程導(dǎo)論 M. 北京:清華大學(xué)出版社, 1998.1 5 郭盈發(fā),張紅娟 .數(shù)據(jù)庫原理 M.西安:西安電子科技大學(xué), 2002 6 美 O Neil,P.DATABASE Principles Programming and Performance.( second editionl) M.北京:高等教育出版社, 2001 8 孫鑫 .VC+深入詳解 M.電子工業(yè)出版社 ,2006年 9 苗雪蘭 .數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用教程 J.機(jī)械工業(yè)出版社 ,2007年 10 李偉明 .VISUAL C+開發(fā)技術(shù)大全 M.人民郵電出版社 ,2007年 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: 程序附錄 void _fastcall TfmMain:mnuReaderInfoClick(TObject *Sender) TForm *pForm = FormExist(讀者檔案管理 ); if(pForm) pForm-SetFocus(); else pForm = new TfmReaderInfo(Application); pForm-Show(); void _fastcall TfmMain:mnuBookTypeClick(TObject *Sender) TForm *pForm = FormExist(圖書類別設(shè)置 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookType(Application); pForm-Show(); void _fastcall TfmMain:mnuBookInfoClick(TObject *Sender) TForm *pForm = FormExist(圖書檔案管理 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookInfo(Application); pForm-Show(); void _fastcall TfmMain:mnuOrderClick(TObject *Sender) 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: TForm *pForm = FormExist(圖書征訂 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookOrder(Application); pForm-Show(); /- void _fastcall TfmMain:mnuBorrowClick(TObject *Sender) TForm *pForm = FormExist(圖書借閱 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookBorrow(Application); pForm-Show(); void _fastcall TfmMain:mnuReturnClick(TObject *Sender) TForm *pForm = FormExist(圖書歸還 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookReturn(Application); pForm-Show(); void _fastcall TfmMain:mnuDueDateClick(TObject *Sender) 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: TForm *pForm = FormExist(圖書逾期清單 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookDue(Application); pForm-Show(); void _fastcall TfmMain:mnuFineClick(TObject *Sender) TForm *pForm = FormExist(圖書罰款 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookFine(Application); pForm-Show(); #include #pragma hdrstop #include Main.h #include readertype.h #include readerinfo.h #include booktype.h #include bookinfo.h #include bookorder.h #include bookborrow.h #include bookreturn.h 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: #include bookdue.h #include bookfine.h #pragma package(smart_init) #pragma resource *.dfm TfmMain *fmMain; _fastcall TfmMain:TfmMain(TComponent* Owner) : TForm(Owner) TForm* TfmMain:FormExist(AnsiString szCaption) for(int i=0; iMDIChildCount; i+) TForm *pForm = this-MDIChildreni; if(pForm-Caption = szCaption) return pForm; return NULL; void _fastcall TfmMain:mnuExitClick(TObject *Sender) Application-Terminate(); void _fastcall TfmMain:Label1Click(TObject *Sender) for(int i = 0; iItems-Count; i+) TMenuItem* pItem = MainMenu1-Items-Itemsi; TMenuItem* pItem1 = pItem-Find( (TLabel*) Sender)-Caption); 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: if(pItem1) pItem1-Click(); void _fastcall TfmMain:mnuReaderTypeClick(TObject *Sender) TForm *pForm = FormExist(讀者類別設(shè)置 ); if(pForm) pForm-SetFocus(); else pForm = new TfmReaderType(Application); pForm-Show(); void _fastcall TfmMain:mnuReaderInfoClick(TObject *Sender) TForm *pForm = FormExist(讀者檔案管理 ); if(pForm) pForm-SetFocus(); else pForm = new TfmReaderInfo(Application); pForm-Show(); void _fastcall TfmMain:mnuBookTypeClick(TObject *Sender) TForm *pForm = FormExist(圖書類別設(shè)置 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookType(Application); pForm-Show(); 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: void _fastcall TfmMain:mnuBookInfoClick(TObject *Sender) TForm *pForm = FormExist(圖書檔案管理 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookInfo(Application); pForm-Show(); void _fastcall TfmMain:mnuOrderClick(TObject *Sender) TForm *pForm = FormExist(圖書征訂 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookOrder(Application); pForm-Show(); void _fastcall TfmMain:mnuBorrowClick(TObject *Sender) TForm *pForm = FormExist(圖書借閱 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookBorrow(Application); pForm-Show(); void _fastcall TfmMain:mnuReturnClick(TObject *Sender) 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: TForm *pForm = FormExist(圖書歸還 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookReturn(Application); pForm-Show(); void _fastcall TfmMain:mnuDueDateClick(TObject *Sender) TForm *pForm = FormExist(圖書逾期清單 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookDue(Application); pForm-Show(); void _fastcall TfmMain:mnuFineClick(TObject *Sender) TForm *pForm = FormExist(圖書罰款 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookFine(Application); pForm-Show(); #include BookBorrow.h #pragma package(smart_init) #pragma resource *.dfm TfmBookBorrow *fmBookBorrow; _fastcall TfmBookBorrow:TfmBookBorrow(TComponent* Owner) 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: : TForm(Owner) void _fastcall TfmBookBorrow:FormShow(TObject *Sender) edReaderCon-SetFocus(); StringGrid1-Cells00 = 狀態(tài) ; StringGrid1-Cells10 = 編號(hào) ; StringGrid1-Cells20 = 書名 ; StringGrid1-Cells30 = 借出時(shí)間 ; StringGrid1-Cells40 = 應(yīng)還時(shí)間 ; StringGrid1-Cells50 = 出版社 ; StringGrid1-Cells60 = 書價(jià) ; void _fastcall TfmBookBorrow:btOkClick(TObject *Sender) AnsiString sql; for(int i=1; iRowCount; i+) if(!(StringGrid1-Cells0i = 新借 & StringGrid1-Cells1i.Length()0) continue; sql = insert into 圖書借閱 (圖書編號(hào) , 讀者編號(hào) , 借閱時(shí)間 , ; sql += 應(yīng)還時(shí)間 , 續(xù)借次數(shù) , 操作員 , 狀態(tài) ) values (; sql += StringGrid1-Cells1i + ,; sql += edReaderCon-Text + ,; sql += StringGrid1-Cells3i + ,; sql += StringGrid1-Cells4i + ,0,操作員 ,新借無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: ); Query1-SQL-Clear(); Query1-SQL-Add(sql); Query1-ExecSQL(); TQuery* pQuery = new TQuery(NULL); pQuery-DatabaseName = db; pQuery-SQL-Add(exec sf_圖書借閱 ); pQuery-ExecSQL(); delete pQuery; m_nBorrowNum = 0; m_nNum = 0; edReaderCon-Text = ; edBookCon-Text = ; edReaderCon-SetFocus(); for(int i=1; iRowCount; i+) StringGrid1-Cells0i = ; StringGrid1-Cells1i = ; StringGrid1-Cells2i = ; StringGrid1-Cells3i = ; StringGrid1-Cells4i = ; StringGrid1-Cells5i = ; StringGrid1-Cells6i = ; Panel2-Caption = ; void _fastcall TfmBookBorrow:btCancelClick(TObject *Sender) 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計(jì)源碼下載 畢業(yè)設(shè)計(jì)源碼下載: m_nBorrowNum = 0; m_nNum = 0; edReaderCon-Text = ; edBookCon-Text = ; edReaderCon-SetFocus(); for(int i=1; iRowCount; i+) StringGrid1-Cells0i = ; StringGrid1-Cells1i = ; StringGrid1-Cells2i = ; StringGrid1-Cells3i = ; StringGrid1-Cells4i = ; StringGrid1-Cells5i = ; StringGrid1-Cells6i = ; Panel2-Caption = ; void _fastcall TfmBookBorrow:btExitClick(TObject *Sender) this-Close(); void _fastcall TfmBookBorrow:FormCl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版產(chǎn)品技術(shù)咨詢服務(wù)費(fèi)合同書一
- 2024年跨境電子商務(wù)平臺(tái)運(yùn)營(yíng)協(xié)議3篇
- 浙江省寧波市2025年中考語文模擬押題試卷七套【附參考答案】
- 19古詩二首 夜宿山寺 說課稿-2024-2025學(xué)年語文二年級(jí)上冊(cè)統(tǒng)編版
- 2024燃?xì)夤境鞘腥細(xì)庹{(diào)峰服務(wù)天然氣購(gòu)銷合同3篇
- 新時(shí)代共青團(tuán)愛國(guó)主義教育
- 秘書與行政助理技巧培訓(xùn)
- 2024有關(guān)聘用合同范文集錦
- 2024技術(shù)服務(wù)咨詢費(fèi)的合同范本
- 福建省南平市外屯中學(xué)2020-2021學(xué)年高一語文聯(lián)考試題含解析
- 新概念英語第2冊(cè)課文(完整版)
- 教師普通話達(dá)標(biāo)分析報(bào)告
- 公安食藥環(huán)培訓(xùn)課件
- 2-氨基-4-硝基苯甲醚化學(xué)品安全說明書
- 2023年我國(guó)山西電力產(chǎn)業(yè)發(fā)展現(xiàn)狀
- 遼寧省沈陽市皇姑區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末考試化學(xué)試卷
- 【重慶武隆區(qū)文旅品牌傳播存在的問題及優(yōu)化建議分析13000字(論文)】
- 北大荒2023審計(jì)報(bào)告
- 廚房管理?xiàng)l例
- 鍋爐安裝竣工報(bào)告
- 工作成果展示PPT模板
評(píng)論
0/150
提交評(píng)論