圖書管理系統(tǒng)java課程設(shè)計(jì)匯本報(bào)告_第1頁
圖書管理系統(tǒng)java課程設(shè)計(jì)匯本報(bào)告_第2頁
圖書管理系統(tǒng)java課程設(shè)計(jì)匯本報(bào)告_第3頁
圖書管理系統(tǒng)java課程設(shè)計(jì)匯本報(bào)告_第4頁
圖書管理系統(tǒng)java課程設(shè)計(jì)匯本報(bào)告_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、. .PAGE33 / NUMPAGES37大學(xué)信息工程學(xué)院Java實(shí)訓(xùn)報(bào)告題目:圖書管理系統(tǒng)班級:網(wǎng)絡(luò)(1)班 :輝 學(xué)號:100302335 2011年 12 月22日摘 要隨著信息技術(shù)的發(fā)展,計(jì)算機(jī)已被廣泛的應(yīng)用于社會的各個(gè)領(lǐng)域,成為推動(dòng)社會發(fā)展的技術(shù)動(dòng)力。而在計(jì)算機(jī)應(yīng)用中,軟件的作用十分突出,軟件已經(jīng)發(fā)展成為信息技術(shù)的核心,主導(dǎo)著信息產(chǎn)品的開發(fā)和信息技術(shù)市場的進(jìn)一步的開拓。軟件產(chǎn)業(yè)已成為社會信息化進(jìn)程中的一個(gè)戰(zhàn)略性產(chǎn)業(yè)。在軟件技術(shù)的應(yīng)用中軟件的開發(fā)技術(shù)尤其是應(yīng)用型軟件產(chǎn)品的開發(fā)技術(shù)成了重中之重。不斷開發(fā)適應(yīng)用戶需求、市場需要的新型軟件產(chǎn)品。尤其是在校園里,各種軟件的應(yīng)用無處不在,為我們

2、的學(xué)習(xí)和生活提供了方便。學(xué)校的圖書館不僅給我們提供看書學(xué)習(xí)的地方,還給我們提供了一套功能齊全的圖書館系統(tǒng),方便我們搜索書籍、借閱圖書。我們本次的Java課程設(shè)計(jì)的最終目標(biāo)是實(shí)現(xiàn)一個(gè)圖書館管理系統(tǒng),使其具有一般圖書管理系統(tǒng)所具有的功能,可以實(shí)現(xiàn)管理員日志、管理員添加、管理員退出、讀者添加、讀者修改、讀者查詢、讀者刪除、新書入庫、書籍查詢、書籍借閱與歸還等功能。因?yàn)镴ava是一門很優(yōu)秀的編程語言,具有面向?qū)ο?、與平臺無關(guān)、安全、穩(wěn)定和多線程等特點(diǎn),所以用Java編程為我們本次程序的編寫提供了方便。在設(shè)計(jì)中我們主要進(jìn)行了數(shù)據(jù)庫與類的設(shè)計(jì),把整系統(tǒng)分成了15個(gè)類和5個(gè)表。通過應(yīng)用awt、swing、s

3、ql、util等包,合理的添加了按鈕、菜單、文本框、文本區(qū)、表格等組件類,還包含窗口、面板等容器類,經(jīng)過設(shè)計(jì)者合理的布局,完成了窗體的設(shè)計(jì),并通過建立JDBC-ODBC橋接器連接到Access數(shù)據(jù)庫后,向數(shù)據(jù)庫發(fā)送SQL語句實(shí)現(xiàn)程序與數(shù)據(jù)庫中表間的消息通信,從而實(shí)現(xiàn)了相應(yīng)的圖書館管理系統(tǒng)的功能。本文主要分為緒論、系統(tǒng)功能介紹、數(shù)據(jù)庫需求分析、系統(tǒng)功能實(shí)現(xiàn)、結(jié)論、致、參考文獻(xiàn)7大塊。在緒論中介紹了本次課設(shè)選題的緣由與思想。系統(tǒng)功能介紹中詳細(xì)介紹了本圖書管理系統(tǒng)的整體思想與其具體功能。在數(shù)據(jù)庫需求分析中詳細(xì)說明了數(shù)據(jù)庫的需求分析、概念設(shè)計(jì)與表的設(shè)計(jì)。在系統(tǒng)功能實(shí)現(xiàn)中主要通過抓圖來體現(xiàn)設(shè)計(jì)的結(jié)果???/p>

4、之,我們的整體設(shè)計(jì)思想均在報(bào)告中體現(xiàn)。關(guān)鍵詞: 圖書館管理系統(tǒng),Java程序設(shè)計(jì)語言,Access數(shù)據(jù)庫目 錄 TOC o 1-3 h z u HYPERLINK l _Toc233984906摘 要 PAGEREF _Toc233984906 h IHYPERLINK l _Toc233984907第1章 緒 論 PAGEREF _Toc233984907 h 1HYPERLINK l _Toc233984908第2章 系統(tǒng)功能介紹 PAGEREF _Toc233984908 h 2HYPERLINK l _Toc2339849092.1系統(tǒng)功能總框圖 PAGEREF _Toc2339849

5、09 h 2HYPERLINK l _Toc2339849102.2 模塊功能介紹 PAGEREF _Toc233984910 h 2HYPERLINK l _Toc2339849112.2.1 管理員模塊功能介紹 PAGEREF _Toc233984911 h 2HYPERLINK l _Toc2339849122.2.2 讀者管理 PAGEREF _Toc233984912 h 3HYPERLINK l _Toc2339849132.2.3書籍管理模塊功能介紹 PAGEREF _Toc233984913 h 3HYPERLINK l _Toc2339849142.2.4 書籍借閱與歸還功能

6、介紹 PAGEREF _Toc233984914 h 4HYPERLINK l _Toc2339849152.2.5 借閱超時(shí)功能介紹 PAGEREF _Toc233984915 h 4HYPERLINK l _Toc2339849162.3 組任務(wù)分工 PAGEREF _Toc233984916 h 4HYPERLINK l _Toc233984917第3章 數(shù)據(jù)庫設(shè)計(jì) PAGEREF _Toc233984917 h 5HYPERLINK l _Toc2339849183.1 數(shù)據(jù)庫需求分析 PAGEREF _Toc233984918 h 5HYPERLINK l _Toc233984919

7、3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc233984919 h 5HYPERLINK l _Toc2339849203.3 數(shù)據(jù)庫表的設(shè)計(jì) PAGEREF _Toc233984920 h 6HYPERLINK l _Toc233984921第4章 系統(tǒng)功能實(shí)現(xiàn) PAGEREF _Toc233984921 h 8HYPERLINK l _Toc2339849224.1 管理員模塊功能實(shí)現(xiàn) PAGEREF _Toc233984922 h 8HYPERLINK l _Toc2339849234.1.1 管理員登陸 PAGEREF _Toc233984923 h 8HYPERLINK l

8、_Toc2339849244.1.2 管理日志 PAGEREF _Toc233984924 h 10HYPERLINK l _Toc2339849254.1.3 管理員添加功能實(shí)現(xiàn) PAGEREF _Toc233984925 h 11HYPERLINK l _Toc2339849264.1.4 管理員切換 PAGEREF _Toc233984926 h 13HYPERLINK l _Toc2339849274.2 讀者管理模塊功能實(shí)現(xiàn) PAGEREF _Toc233984927 h 14HYPERLINK l _Toc2339849284.2.1 讀者添加 PAGEREF _Toc233984

9、928 h 14HYPERLINK l _Toc2339849294.2.2 讀者修改 PAGEREF _Toc233984929 h 15HYPERLINK l _Toc2339849304.2.3 讀者查詢 PAGEREF _Toc233984930 h 17HYPERLINK l _Toc2339849314.2.4 讀者刪除 PAGEREF _Toc233984931 h 18HYPERLINK l _Toc2339849324.3 書籍管理模塊功能實(shí)現(xiàn) PAGEREF _Toc233984932 h 19HYPERLINK l _Toc2339849334.3.1 新書入庫實(shí)現(xiàn) PA

10、GEREF _Toc233984933 h 19HYPERLINK l _Toc2339849344.3.2查詢功能實(shí)現(xiàn) PAGEREF _Toc233984934 h 21HYPERLINK l _Toc2339849354.4 書籍借閱與歸還功能實(shí)現(xiàn) PAGEREF _Toc233984935 h 23HYPERLINK l _Toc2339849364.4.1 借閱書籍功能實(shí)現(xiàn) PAGEREF _Toc233984936 h 23HYPERLINK l _Toc2339849374.4.2 歸還書籍功能實(shí)現(xiàn) PAGEREF _Toc233984937 h 25HYPERLINK l _T

11、oc2339849384.5 借閱超時(shí)功能實(shí)現(xiàn) PAGEREF _Toc233984938 h 28HYPERLINK l _Toc233984939結(jié) 論 PAGEREF _Toc233984939 h 30HYPERLINK l _Toc233984940致 PAGEREF _Toc233984940 h 31HYPERLINK l _Toc233984941參考文獻(xiàn) PAGEREF _Toc233984941 h 32第1章 緒 論隨著 HYPERLINK :/ 社會 HYPERLINK :/ 經(jīng)濟(jì)的迅速發(fā)展和 HYPERLINK :/ 科學(xué)技術(shù)的全面進(jìn)步, HYPERLINK :/ 計(jì)

12、算機(jī)事業(yè)的飛速發(fā)展,以計(jì)算機(jī)與通信技術(shù)為基礎(chǔ)的信息系統(tǒng)正處于蓬勃發(fā)展的時(shí)期。隨著經(jīng)濟(jì)文化水平的顯著提高,人們對生活質(zhì)量與工作環(huán)境的要求也越來越高。書籍做為人類的精神食糧,在 HYPERLINK :/ 現(xiàn)代社會中越來越受到重視,大量的書籍出現(xiàn)在市場上,人們有了各種各樣不同的選擇。與此同時(shí),為了管理大量的圖書,圖書管理系統(tǒng)也大量的出現(xiàn),隨著圖書的大量增加,其管理難度也越來越大,如何優(yōu)化管理也就成為了一個(gè)大眾化的問題?,F(xiàn)已有的圖書管理系統(tǒng),其功能已十分強(qiáng)大,為了便于管理員對圖書管理系統(tǒng)進(jìn)行妥善的管理和讀者的查詢,圖書管理系統(tǒng)為管理員提供了管理日志、管理員添加、管理員切換、讀者添加、讀者修改、讀者查詢

13、、讀者刪除、新書入庫等功能,為讀者提供了書籍查詢、讀者借閱信息查詢、圖書網(wǎng)上續(xù)借等很多功能。大學(xué)為我們提供了自由的學(xué)習(xí)環(huán)境,使我們有更多的時(shí)間到圖書館借閱書籍,讓我們可以隨時(shí)掌握各方面的知識,不斷提高自我、充實(shí)自我,但由于圖書館藏書成千上萬,我們很難一本一本的去查找自己感興趣的書籍,因此我們會經(jīng)常用到學(xué)校為我們提供的圖書管理系統(tǒng),用時(shí)間長了便對此產(chǎn)生了興趣,正好本次課程設(shè)計(jì)為我們提供了良好的機(jī)會,讓我們親自設(shè)計(jì)并實(shí)現(xiàn)了圖書管理系統(tǒng)的部分功能。設(shè)計(jì)一個(gè)圖書管理系統(tǒng)必不可少的必須對全管書籍進(jìn)行分類匯總。而這就是我們所說的數(shù)據(jù)庫設(shè)計(jì)的第一階段:需求分析。在這一階段除了對具體情況諸如實(shí)行對管理員的管理

14、、對讀者的管理、書籍管理、書籍的借閱與歸還、借閱超時(shí)等功能的實(shí)現(xiàn),還需要對用戶的需求進(jìn)行調(diào)查和分析,否則就失去了設(shè)計(jì)這個(gè)系統(tǒng)的意義了。對于界面的設(shè)計(jì)我們應(yīng)該追求的是:美觀、易讀性強(qiáng)、清晰度高;原則是:不能因?yàn)榭桃庾非竺烙^而以整個(gè)界面的清晰度的犧牲作為代價(jià),不能為了清晰度而拋棄對易讀性的追求。再設(shè)計(jì)的過程中我們應(yīng)該根據(jù)實(shí)際的情況進(jìn)行設(shè)計(jì),做到具體問題具體分析,不刻意追求原則。在對應(yīng)的界面與Access數(shù)據(jù)庫建立連接,并實(shí)現(xiàn)對應(yīng)的SQL語句進(jìn)行實(shí)現(xiàn)將產(chǎn)生的結(jié)果顯示出來。并運(yùn)用捕捉異常的方法,將異常信息顯示出來。實(shí)現(xiàn)SQL語句的時(shí)候借助前臺開發(fā)工具中關(guān)于數(shù)據(jù)處理的控件來完成。對于讀者而言他們的需了解

15、圖書的基本情況,自己的借閱情況??偠灾褪菍?shí)現(xiàn)對各個(gè)信息表的查詢。對于圖書管理員而言要實(shí)現(xiàn)的功能相對而言比較多,例如實(shí)現(xiàn)新書入庫、Access數(shù)據(jù)庫表的創(chuàng)建、系統(tǒng)的維護(hù)等等,這些都需要設(shè)計(jì)和實(shí)現(xiàn)的。第2章 系統(tǒng)功能介紹2.1系統(tǒng)功能總框圖圖書館管理系統(tǒng)功能總框圖,如圖2-1所示。圖書館管理系統(tǒng)管理員讀者管理書籍管理書籍借閱歸還管理員管理日志管理員添加管理員切換讀者添加讀者信息修改讀者刪除新書入庫書籍查詢借閱書籍歸還書籍借閱超時(shí)讀者信息查詢圖2-1 系統(tǒng)功能框架圖2.2 模塊功能介紹2.2.1 管理員模塊功能介紹1. 管理員登陸此模塊主要是利用MenuBar添加菜單條,利用Menu和MenuI

16、tem添加菜單和菜單的各個(gè)參數(shù),通過事件ActionEvent 可以實(shí)現(xiàn)進(jìn)入各個(gè)模塊如管理日志、管理員添加、管理員切換、讀者添加、讀者修改、讀者查詢、讀者刪除、新書入庫、書籍查詢、借閱書籍、歸還書籍、借閱超時(shí)與退出的功能。2. 管理日志此模塊可以清楚的顯示出書籍借閱與歸還的信息,包括書號、書名、圖書證號、借/還、操作日期、已付款額。讀者可以通過此模塊實(shí)現(xiàn)的功能清楚的了解圖書被借閱和歸還的詳細(xì)信息,從而給讀者帶來了很多方便。3. 管理員添加功能介紹此模塊功能是增加新管理員的登陸。在圖書館管理系統(tǒng)中必須有每一個(gè)管理者的讓其可以正常進(jìn)行新圖書證的辦理、借閱書籍和歸還書籍等系統(tǒng)管理。所以在管理員功能模

17、塊中增加了管理員添加這個(gè)功能。4. 管理員切換此模塊的主要功能是進(jìn)行管理員之間的切換,即單擊管理員菜單下的管理員切換,就會退出當(dāng)前管理員界面,從而出現(xiàn)管理員切換窗口,而另一管理員就可以在管理員切換窗口中的用戶名和密碼兩欄過輸入自己的用戶名和密碼直接進(jìn)入該系統(tǒng)。2.2.2 讀者管理1. 讀者添加此模塊主要的實(shí)現(xiàn)功能是添加新的讀者信息,即當(dāng)有新的讀者要看查看本圖書館中的書藉,可以通過此功能實(shí)現(xiàn),當(dāng)數(shù)據(jù)庫中存在其新信息,即成為本圖書館的新一位讀者。其息分別包括圖書證號、學(xué)生、性別、系別、班級,同時(shí)可有三項(xiàng)功能在此處實(shí)現(xiàn),即添加、重置以與返回。2.讀者修改此模塊主要的實(shí)現(xiàn)功能對有信息更新的讀者進(jìn)行即時(shí)

18、修改,以隨時(shí)更新讀者在數(shù)據(jù)庫中的信息。本模塊通過圖書證號確定讀者,可對讀者信息的新圖書證號、學(xué)短、性別、系別、班級。此處可分別實(shí)現(xiàn)對該功能的修改、重置、返回。3. 讀者查詢此模塊主要可對所要了解的讀者信息。即把讀者的信息從數(shù)據(jù)庫調(diào)出來,顯示在該窗口中的文字區(qū)域。查詢方式分別有按圖書證查詢、按查詢、按班級查詢、按年級查詢,并可通過辦理入相應(yīng)的關(guān)鍵字,更加縮小查詢圍。此處可實(shí)現(xiàn)查詢和返回功能。4. 讀者刪除此模塊可以刪除一些不再使用本系統(tǒng)的讀者資料,從而達(dá)到對數(shù)據(jù)庫中的清理,即清除一些不必要資料,此處有四種刪除途徑,分別為按圖書證號刪除、按刪除、按班級刪除、安年級刪除,并可通過所輸入的關(guān)鍵字盡快找

19、到所要?jiǎng)h除的資料。此處可分別實(shí)現(xiàn)對該功能的修改、重置、返回。2.2.3書籍管理模塊功能介紹1. 新書入庫功能介紹此模塊主要的實(shí)現(xiàn)功能是將新來的圖書輸入到圖書館管理系統(tǒng)的書庫當(dāng)中,其中主要按如下信息往書庫中輸入,這部分的操作主要是便于書庫合理的管理,有利于讀者能夠?qū)π聲幸粋€(gè)更詳細(xì)的了解。其中包括如下信息:新書書號、新書名稱、新書出版日期、新書、入庫數(shù)量、編寫作者、新書單價(jià)。2. 書籍查詢功能介紹在圖書館管理系統(tǒng)中書籍查詢是最基本的功能,讀者可以根據(jù)自己的需求來查詢想要借閱的書籍。本系統(tǒng)是用Java應(yīng)用程序和Access數(shù)據(jù)庫一起開發(fā)的其中利用Java來編程實(shí)現(xiàn)功能的代碼和布置運(yùn)行界面。界面是由

20、檢索項(xiàng)、檢索詞和顯示文本區(qū)三個(gè)部分組成的用戶根據(jù)自己的需要在檢索項(xiàng)中選擇自己所要按什么字段進(jìn)行查詢,其中書籍查詢功能的檢索項(xiàng)中可以按書號查詢、按書名查詢、按作者名查詢、按查詢、按入庫時(shí)間查詢等基礎(chǔ)查詢。選擇檢索項(xiàng)后用戶只要在檢索詞中添寫自己所要查詢的容并確定鍵確認(rèn)后用戶要查詢的容就可以在顯示文本區(qū)中顯示出來。用戶可以根據(jù)顯示的信息得知自己所要借閱書籍的情況。2.2.4 書籍借閱與歸還功能介紹1. 借閱書籍功能介紹此模塊主要實(shí)現(xiàn)讀者可憑有效的圖書證號,借閱圖書館未借出的圖書。輸入圖書證號后,可顯示了該圖書證持有者的全部信息(包括借書證號、性別、所在班級、所屬系部、當(dāng)前可借閱圖書個(gè)數(shù)),供讀者確認(rèn)

21、信息。通過輸入有效的圖書編號,查詢該圖書的全部信息(包括書號、書名、作者、是否借出、價(jià)格)。借閱成功后,將該圖書證號、書號、借閱日期、應(yīng)還日期信息插入到數(shù)據(jù)庫的表中進(jìn)行記錄。2. 歸還書籍功能介紹此模塊主要實(shí)現(xiàn)讀者憑所要?dú)w還圖書的圖書證號歸還圖書。輸入所要?dú)w還的圖書編號后,可顯示了該圖書證持有者的全部信息(包括借書證號、性別、所在班級、所屬系部、當(dāng)前可借閱圖書個(gè)數(shù)),供讀者確認(rèn)信息。還書成功后,從數(shù)據(jù)庫中刪除該書的借出記錄,并修改數(shù)據(jù)庫中的相應(yīng)信息。2.2.5 借閱超時(shí)功能介紹此模塊主要實(shí)現(xiàn)顯示過期圖書的信息(包括圖書證號、書號、借閱日期、應(yīng)還日期)提醒讀者還書。2.3 組任務(wù)分工組分工情況如

22、下表2-1所示。表2-1 組分工情況表組長鄒剛讀者添加、查詢、修改、刪除。組員羅姍姍書籍借閱與歸還模塊、借書超期限子系統(tǒng)。呈呈管理員添加、新書入庫、按指定條件進(jìn)行圖書查詢。蘭蘭數(shù)據(jù)庫創(chuàng)建、登陸界面設(shè)計(jì)、管理員模塊。第3章 數(shù)據(jù)庫設(shè)計(jì)在此圖書館管理系統(tǒng)中,使用到了一個(gè)重要的連接,即與數(shù)據(jù)庫Accesss相連。數(shù)據(jù)庫中存有圖書館中所信息,包括讀者信息、管理員資料、借閱與退還記錄。所有與管理有關(guān)的數(shù)據(jù)皆在其中,是保證系統(tǒng)能夠正常實(shí)現(xiàn)各種功能的一架橋。3.1 數(shù)據(jù)庫需求分析 Admi表,即管理員表,記錄了用戶名和密碼。 Admirz表,即管理日志表,記錄了書號、書名、圖書證號、借/還、操作日期、已付款

23、額。 book表,即圖書表,記錄了書號、書名、作者、入庫時(shí)間、是否借出、價(jià)格。 borrowbook表,即借閱表,記錄了圖書證號、書號、借閱日期、應(yīng)還日期。 person表,即讀者表,記錄了圖書證號、性別、系別、班級。3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)圖書館管理系統(tǒng)E-R圖,如圖3-1。mn讀者圖書管理員性別系別班級XX圖書證號書號書名作者會化密碼用戶名管理管理mnm借閱1入庫時(shí)間是否借出價(jià)格圖3-1圖書館管理系統(tǒng)E-R圖3.3 數(shù)據(jù)庫表的設(shè)計(jì)Admi表表中記錄了可以使管理員進(jìn)入該系統(tǒng)的用戶名與密碼,如表3-1所示。表3-1 管理員信息表字段名稱數(shù)據(jù)類型長度備注用戶名文本10密碼文本15Admirz表

24、表中記錄借還書日志,用于存下所有對圖書操作的記錄,以便以后可以翻閱和查找,如表3-2所示。表3-2 管理日志表字段名稱數(shù)據(jù)類型長度備注書號文本10書名文本15作者文本15文本15入庫時(shí)間DATE15已付款額文本10book表表中記錄了庫所有圖書的所有資料,如表3-3。表3-3圖書表字段名稱數(shù)據(jù)類型長度備注書號文本10書名文本15作者文本15文本15入庫時(shí)間DATE15是否借出文本10價(jià)格文本10person表表中記錄庫中所有讀者的相關(guān)信息,如表3-4所示。表3-4讀者表字段名稱數(shù)據(jù)類型長度備注圖書證號文本10文本15性別文本15系別文本15班級文本15borrowbook表表記錄了此時(shí)圖書的借

25、閱情況,如表3-5所示。表3-5借閱表字段名稱數(shù)據(jù)類型長度備注圖書證號文本10書號文本15借閱日期DATE15應(yīng)還日期DATE15第4章 系統(tǒng)功能實(shí)現(xiàn)4.1 管理員模塊功能實(shí)現(xiàn)4.1.1 管理員登陸此模塊是整個(gè)系統(tǒng)最主要的部分,管理員可以通過此模塊實(shí)現(xiàn)進(jìn)入其余各個(gè)模塊如管理日志、管理員添加、管理員切換、讀者添加、讀者修改、讀者查詢、讀者刪除、新書入庫、書籍查詢、借閱書籍、歸還書籍、借閱超時(shí)與退出的功能。圖書管理系統(tǒng)管理員界面如圖4-1所示。圖4-1 圖書管理系統(tǒng)管理員主要程序代碼如下:public void actionPerformed(ActionEvent e)if(e.getSourc

26、e()=itemAdmiqh)this.dispose();In winin=new In(系統(tǒng)登陸);if(e.getSource()=itemtc)System.exit(0);if(e.getSource()=itemAdmixj)CreatAdmi creatAdmi=new CreatAdmi(管理員添加);if(e.getSource()=itemAdmirz)WinTable wintable=new WinTable(管理日志);if(e.getSource()=itemBookrk)AddInfy addInfy=new AddInfy();if(e.getSource()=

27、itemPersonlr)Winpersonadd winperson=new Winpersonadd(讀者添加);if(e.getSource()=itemPersoncx)Winpersonsearch winperson=new Winpersonsearch(讀者信息查詢);if(e.getSource()=itemPersonxg)Winpersonmodify winperson=new Winpersonmodify(讀者信息修改);if(e.getSource()=itemPersonsc)Winpersondelete winperson=new Winpersondele

28、te(讀者刪除);if(e.getSource()=itemBookcx)Windowjj ok=new Windowjj();if(e.getSource()=itemchaoshi)day win=new day(); if(e.getSource()=itemBorrowjs)Borrowbook win=new Borrowbook(); if(e.getSource()=itemBorrowhs)Returnbook win=new Returnbook(); 4.1.2 管理日志此模塊通過定義類WinTable繼承頂層容器JFrame,再添加普通容器 JScrollPane、Jpa

29、nel,然后通過BorderLayout布局創(chuàng)建界面,最后主要通過數(shù)組利用while循環(huán)在連接好的數(shù)據(jù)庫中查找表Admirz中的容,從而實(shí)現(xiàn)了可以清楚的顯示出書籍借閱與歸還信息的功能。管理日志界面如圖4-2所示。圖4-2 管理日志主要程序代碼如下:WinTable(String s)super(s);try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException e)System.out.println(+e);try con=DriverManager.getConnection(jdbc:odbc:s

30、un,123,123);sql=con.createStatement();rs=sql.executeQuery(SELECT * FROM Admirz);while(rs.next()k+;catch(SQLException e)System.out.println(+e);try con=DriverManager.getConnection(jdbc:odbc:sun,123,123);sql=con.createStatement();rs=sql.executeQuery(SELECT * FROM Admirz);a=new Objectk6;while(rs.next()f

31、or(int j=0;j6;j+)if(j5)aij=rs.getString(j+1);elseaij=rs.getDouble(j+1);i+;con.close();catch(SQLException e)System.out.println(+e);table=new JTable(a,name);Container con=getContentPane();getContentPane().add(new JScrollPane(table),BorderLayout.CENTER);setBounds(120,125,700,500);setVisible(true);valid

32、ate();addWindowListener(new DisposeListener();4.1.3管理員添加功能實(shí)現(xiàn)功能介紹:該程序主要實(shí)現(xiàn)管理員的添加,以便于讓實(shí)行對圖書管理員的管理。按照標(biāo)簽提示輸入信息,然后點(diǎn)擊確定按鈕。首先判斷管理員名文本框中輸入的文本信息是否符合大于3個(gè)字符并小于10個(gè)字符的規(guī)則,如果不符合規(guī)則,則提示錯(cuò)誤,如果符合規(guī)則,再到Admi表中進(jìn)行查詢,如果一樣則用提示框提示錯(cuò)誤。若無一樣則可注冊。但還需要保證前后兩次的密碼一樣,才能成功注冊,管理員登陸窗口如圖4-3所示。圖4-3 管理員添加成功界面主要程序代碼如下:public void actionPerforme

33、d(ActionEvent c)String b=textUser.getText();String d=textPassword1.getText();String g=textPassword2.getText();if(c.getSource()=buttonqk)textUser.setText(null);textPassword1.setText(null);textPassword2.setText(null);if(c.getSource()=buttonEnter|c.getSource()=textPassword2)if(b.length()10)JOptionPane.

34、showMessageDialog(null,用戶名應(yīng)在310個(gè)字符之間);textUser.setText(null);elsetry Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException e)System.out.println(+e);try con=DriverManager.getConnection(jdbc:odbc:sun,123,123);sql=con.createStatement();rs=sql.executeQuery(SELECT * FROM Admi WHERE 用戶名

35、=+b+);if(rs.next()String user=rs.getString(1);if(b.equals(user) JOptionPane.showMessageDialog(null,此管理員已被注冊,警告,JOptionPane.WARNING_MESSAGE);elseif(d.equals(g) sql.executeUpdate(INSERTINTOAdmi VALUES+(+b+,+d+);this.dispose();JOptionPane.showMessageDialog(null,管理員注冊成功); else JOptionPane.showMessageDia

36、log(null,兩次輸入密碼不一致,警告,JOptionPane.ERROR_MESSAGE); con.close(); catch(SQLException e)System.out.println(+e);4.1.4 管理員切換此模塊功能是退出當(dāng)前管理員界面,進(jìn)入管理員切換窗口,另一用戶可以通過輸入自己的用戶名和密碼直接進(jìn)入該系統(tǒng)。但此用戶名和密碼都必須與已經(jīng)連接好的數(shù)據(jù)庫中表Admi中的用戶名和密碼相吻合。管理員切換界面如圖4-4所示。圖4-4 管理員切換主要程序代碼如下:public void windowClosing(WindowEvent e)e.getWindow().di

37、spose();4.2 讀者管理模塊功能實(shí)現(xiàn)4.2.1 讀者添加功能介紹:添加新的讀者,使其能夠進(jìn)入圖書系統(tǒng)閱覽圖書,讀者添加如圖4-5所示。圖4-5 讀者添加主要程序代碼如下:public void actionPerformed(ActionEvent e)if(e.getSource()=button1) / 添加String ch=text1.getText();if(ch.length()!=5)JOptionPane.showMessageDialog(null,請輸入5位圖書證號!);text1.setText(null);else/連接數(shù)據(jù)庫String number,name

38、,sex,dept,classes,record,insertStr;number=text1.getText();name=text2.getText();if(box1.getState()=true)sex=box1.getLabel();elsesex=box2.getLabel();dept=text3.getText();classes=text4.getText();rs=sql.executeQuery(SELECT * FROM person WHERE 圖書證號=+number+);if(rs.next()JOptionPane.showMessageDialog(null

39、,此圖書證號已存在,警告,JOptionPane.WARNING_MESSAGE);text1.setText(null);record=(+number+,+name+,+sex+,+dept+,+classes+);insertStr=INSERT INTO person VALUES+record;sql.executeUpdate(insertStr); JOptionPane.showMessageDialog(null,添加成功!);con.close();4.2.2 讀者修改功能介紹:對讀者需要修改的資料進(jìn)行重定義,讀者信息修改如圖4-6所示。圖4-6 讀者信息修改主要程序代碼如

40、下:public void actionPerformed(ActionEvent e)if(e.getSource()=button1) /修改String ch=text1.getText();if(ch.length()!=5)JOptionPane.showMessageDialog(null,請輸入5位圖書證號!);text1.setText(null);elsetry/連接數(shù)據(jù)庫String number,name,sex,dept,classes,newnum,record,updateStr;newnum=text5.getText();number=text1.getText

41、();name=text2.getText();if(box1.getState()=true)sex=box1.getLabel();elsesex=box2.getLabel();dept=text3.getText();classes=text4.getText();sql=con.createStatement();rs=sql.executeQuery(SELECT * FROM person where 圖書證號=+newnum+);if(rs.next()rs1=sql.executeQuery(SELECT * FROM person where 圖書證號=+number+);

42、if(rs1.next()JOptionPane.showMessageDialog(null,此圖書證號已存在,警告,JOptionPane.WARNING_MESSAGE);text1.setText(null);elseupdateStr=UPDATE person SET 圖書證號=+number+,+=+name+,+性別=+sex+,+系別=+dept+,+班級=+classes+WHERE 圖書證號=+newnum+;sql.executeUpdate(updateStr);JOptionPane.showMessageDialog(null,修改成功!);elseJOption

43、Pane.showMessageDialog(null,查無此人!);/連接數(shù)據(jù)庫con.close();4.2.3 讀者查詢功能介紹:可以對數(shù)據(jù)庫中已有的讀者信息進(jìn)行查詢。讀者查詢?nèi)鐖D4-7。圖4-7讀者信息查詢主要程序代碼如下:public void actionPerformed(ActionEvent e) if(e.getSource()=button1 | e.getSource()=text) / 查詢area.setText(null);if(str=按圖書證號查詢 | str=null) & text.getText()!=null)boolean flag=true,f=t

44、rue;String num=text.getText();/連接數(shù)據(jù)庫rs=sql.executeQuery(SELECT * FROM person where 圖書證號=+num+); while(rs.next()f=false;String number=rs.getString(圖書證號);String name=rs.getString();String sex=rs.getString(性別);String dept=rs.getString(系別);String classes=rs.getString(班級);if(flag)area.append(圖書證號為+num+的學(xué)

45、生信息如下:);flag=false;area.append(n:+name+ 性別:+sex+ 系別:+dept+ 班級:+classes+n);if(f)area.append(查無此人!);catch(SQLException c)System.out.println(c);4.2.4 讀者刪除功能介紹:刪除數(shù)據(jù)庫中已有信息。讀者刪除如圖4-8所示。圖4-8 讀者刪除主要程序代碼如下:if(e.getSource()=button1) / 刪除area.setText(null);if(str=按圖書證號刪除 | str=null) & text.getText()!=null) Str

46、ing num=text.getText();tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException c)System.out.println(+c);/連接數(shù)據(jù)庫rs=sql.executeQuery(SELECT * FROM person where 圖書證號=+num+);if(rs.next()area.append(該信息已刪除!);String delStr=DELETE FROM person WHERE 圖書證號=+num+;sql.executeQuery(delStr);con

47、.close();catch(SQLException c)System.out.println(c);4.3書籍管理模塊功能實(shí)現(xiàn)4.3.1 新書入庫實(shí)現(xiàn)功能介紹:此界面主要完成的功能是往數(shù)據(jù)庫book表中添加新書的記錄,在book表中可查看最新的記錄。在新書信息輸入的過程中,會出現(xiàn)一些異常處理,如某個(gè)字段的信息沒有填寫;新書信息輸入字段的過程中,輸入的字段類型與給定的字段類型與輸入不匹配(如:貨幣、日期);輸入的信息長度超過給定的字段長度等。如果填寫的容正確則可以成功將新書添加入庫,新書入庫窗口如圖4-9所示。 圖4-9添加新書入庫界面主要程序代碼如下:public void actionP

48、erformed(ActionEvent c) if (c.getSource()=button2)this.dispose();if (c.getSource()=button1)/連接數(shù)據(jù)庫rs=stm.executeQuery(select 書號 from book where 書號= +textField1.getText() + );if (rs.next()JOptionPane.showMessageDialog(null, 此書號已存在!, 警告,JOptionPane.WARNING_MESSAGE);return;float m;String str1,str2,str3,

49、str4,str6,str7,str8,str9,str10;str1=textField1.getText(); str10=未借出;m=Float.parseFloat(str9);str=(+str1+,+str3+,+str8+,+str6+,+str7+,+str10+,+m+);String insert=INSERT INTO book(書號,書名,作者,入庫時(shí)間,是否借出,價(jià)格) VALUES+str;stm.executeUpdate(insert);textField1.setText();JOptionPane.showMessageDialog(null, 增加信息成功

50、!);con.close();catch (Exception e)JOptionPane.showMessageDialog(null, 請認(rèn)真檢查各項(xiàng)!然后重試., 異常警告, JOptionPane.WARNING_MESSAGE);4.3.2查詢功能實(shí)現(xiàn)功能介紹:本系統(tǒng)包含兩項(xiàng)一是檢索項(xiàng)令一個(gè)是檢索詞,在檢索項(xiàng)中用戶可以根據(jù)自己的需求來選擇所要查詢的項(xiàng)目并在檢索詞中添寫自己所要查詢的容。本系統(tǒng)副帶四個(gè)按鈕:確定、取消、查看全庫,該圖書館管理系統(tǒng)的查詢界面如圖4-10所示。圖4-10 查詢系統(tǒng)界面在該系統(tǒng)中為了用戶使用方便還設(shè)有查看全庫一項(xiàng),用戶可以通過這一功能來查看全庫的圖書,所查詢的

51、容將在下方的文本區(qū)中顯示,其界面4-11所示。圖4-11 查看全庫信息使用檢索詞必須得滿足一定的查詢條件才可以執(zhí)行,用戶必須得在檢索項(xiàng)中選擇查詢方式并添好檢索詞才可查詢否則系統(tǒng)會顯示未找到您要查找的容并給以提示,如圖4-12所示。圖4-12 檢索項(xiàng)按書號查詢主要程序代碼如下:public void itemStateChanged(ItemEvent e) area.setText(null) ; String name=choice1.getSelectedItem(); area.append( 請您在檢索項(xiàng)中輸入您要查找的容 : ); public void actionPerforme

52、d(ActionEvent e) if (e.getSource()=button2) /取消鍵 text1.setText(null); else if (e.getSource()=button3) /返回鍵 this.dispose(); else if (e.getSource()=button4) / 查看全庫 Connection con; Statement sql; ResultSet rs; try /建立數(shù)據(jù)源 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException c) Syste

53、m.out.println(+c); try con=DriverManager.getConnection(jdbc:odbc:sun,);sql=con.createStatement(); rs=sql.executeQuery(select * from book );while (rs.next() String bookname=rs.getString(書名); String auther=rs.getString(作者); String chubanshe=rs.getString(); String bookno=rs.getString(書號); String data=r

54、s.getString(入庫時(shí)間); String yesorno=rs.getString(是否借出); area.append(n書號:+bookno); area.append( 書名:+bookname); area.append( +auther); area.append( :+chubanshe);area.append( n入庫時(shí)間:+data);area.append( 是否借出:+yesorno); con.close(); catch(SQLException c) System.out.println(+c); 4.4 書籍借閱與歸還功能實(shí)現(xiàn)4.4.1 借閱書籍功能實(shí)現(xiàn)

55、輸入圖書證號“0001”后點(diǎn)擊查看按鈕,可顯示該讀者信息,若輸入圖書證號錯(cuò)誤,點(diǎn)擊查看按鈕則會彈出借書證錯(cuò)誤對話框,如圖4-13所示。輸入圖書編號“0000003”按回車鍵,可顯示該圖書信息,若輸入圖書編號錯(cuò)誤,按回車鍵則會彈出圖書編號錯(cuò)誤對話框,如圖4-14所示。點(diǎn)擊借閱按鈕則會彈出圖書借閱成功對話框。借閱書籍功能的具體實(shí)現(xiàn)如圖4-15所示。圖4-13 借書證錯(cuò)誤圖4-14 圖書編號錯(cuò)誤圖4-15 借閱書籍主要程序代碼如下:public void actionPerformed(ActionEvent e)if(e.getSource()=tj)if(!tscard.getText().eq

56、uals(null)&!tsid.getText().equals(null)String str1,str2;str1=tsid.getText();str2=tscard.getText();tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException c)System.out.println(+c);/連接數(shù)據(jù)庫rs=sql.executeQuery(SELECT * FROM person where 圖書證號=+str2+);String ls1=null,ls2=null,ls3=null;i

57、nt is1=0;if(rs.next()ls2=str2;con.close();/連接數(shù)據(jù)庫rs=sql.executeQuery(SELECT * FROM book where 書號=+str1+);if(rs.next()if(rs.getString(是否借出).equals(未借出)ls1=str1;ls3=rs.getString(書名);con.close();/連接數(shù)據(jù)庫rs=sql.executeQuery(SELECT count(書號) FROM borrowbook where 圖書證號=+str1+);rs.next();is1=rs.getInt(1);con.

58、close();/連接數(shù)據(jù)庫if(ls1=str1&ls2=str2&is1mm)/計(jì)算還書時(shí)間day=day+d;if(day0)JOptionPane.showMessageDialog(this,您比應(yīng)還日期晚了+String.valueOf(day)+天歸還,請交付相應(yīng)滯納金,延期還書,JOptionPane.WARNING_MESSAGE);money=day/10;tsid.setText(null);4.5 借閱超時(shí)功能實(shí)現(xiàn)數(shù)據(jù)庫borrowbook(借書表)表中的“應(yīng)還日期”字段中的時(shí)間與當(dāng)前時(shí)間相比較,若比當(dāng)前時(shí)間早則說明該書借閱超時(shí),那么該條記錄將在此被顯示出來。借閱超時(shí)功

59、能具體實(shí)現(xiàn)如圖4-18所示。圖4-18 借閱超時(shí)主要程序代碼如下: /連接數(shù)據(jù)庫Date nowtime=new Date();/當(dāng)前日期SimpleDateFormat matter1=new SimpleDateFormat(yyyy-MM-dd);String stime=matter1.format(nowtime);String dyear=stime.substring(0,4);year2=Integer.parseInt(dyear);/年String dmoon=stime.substring(5,7);moon2=Integer.parseInt(dmoon);/月String dday=stime.substring(8,10);day2=Integer.parseInt(dday);/日rs=sql.executeQuery(SELECT * FROM borrowbook);while(rs.next()x=x+1;rs.beforeFirst();a=new Objectx4;while(rs.next()/計(jì)算還書超過的天數(shù)table=new JTable(a,name);sPanel.add(new JScrollPane(table),BorderLayout.CENTER);sPanel.setEnabled(false);setBoun

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論