圖書管理系統(tǒng)java課程設(shè)計報告_第1頁
圖書管理系統(tǒng)java課程設(shè)計報告_第2頁
圖書管理系統(tǒng)java課程設(shè)計報告_第3頁
圖書管理系統(tǒng)java課程設(shè)計報告_第4頁
圖書管理系統(tǒng)java課程設(shè)計報告_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

4、現(xiàn)。關(guān)鍵詞:圖書館管理系統(tǒng),Java程序設(shè)計語言,Access數(shù)據(jù)庫摘要第1章緒論0.第2章系統(tǒng)功能介紹1.2.1 系統(tǒng)功能總框圖1.2.2 模塊功能介紹1.2.2.1 管理員模塊功能介紹1.2.2.2 讀者管理2.2.2.3 書籍管理模塊功能介紹3.2.2.4 書籍借閱與歸還功能介紹3.2.2.5 借閱超時功能介紹32.3 組內(nèi)任務(wù)分工4第3章數(shù)據(jù)庫設(shè)計53.1 數(shù)據(jù)庫需求分析53.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計53.3 數(shù)據(jù)庫表的設(shè)計6第4章系統(tǒng)功能實現(xiàn)84.1 管理員模塊功能實現(xiàn)84.1.1 管理員登陸84.1.2 管理日志104.1.3 管理員添加功能實現(xiàn)124.1.4 管理員切換154.2

5、讀者管理模塊功能實現(xiàn)154.2.1 讀者添加154.2.2 讀者修改174.2.3 讀者查詢194.2.4 讀者刪除214.3 書籍管理模塊功能實現(xiàn)234.3.1 新書入庫實現(xiàn)234.3.2 查詢功能實現(xiàn)244.4 書籍借閱與歸還功能實現(xiàn)274.4.1 借閱書籍功能實現(xiàn)274.4.2 歸還書籍功能實現(xiàn)304.5 借閱超時功能實現(xiàn)32結(jié)論34致謝35參考文獻(xiàn)36可編輯第1章緒論隨著社會經(jīng)濟(jì)的迅速發(fā)展和科學(xué)技術(shù)的全面進(jìn)步,計算機(jī)事業(yè)的飛速發(fā)展,以計算機(jī)與通信技術(shù)為基礎(chǔ)的信息系統(tǒng)正處于蓬勃發(fā)展的時期。隨著經(jīng)濟(jì)文化水平的顯著提高,人們對生活質(zhì)量及工作環(huán)境的要求也越來越高。書籍做為人類的精神食糧,在現(xiàn)代

6、社會中越來越受到重視,大量的書籍出現(xiàn)在市場上,人們有了各種各樣不同的選擇。與此同時,為了管理大量的圖書,圖書管理系統(tǒng)也大量的出現(xiàn),隨著圖書的大量增加,其管理難度也越來越大,如何優(yōu)化管理也就成為了一個大眾化的問題?,F(xiàn)已有的圖書管理系統(tǒng),其功能已十分強(qiáng)大,為了便于管理員對圖書管理系統(tǒng)進(jìn)行妥善的管理和讀者的查詢,圖書管理系統(tǒng)為管理員提供了管理日志、管理員添加、管理員切換、讀者添加、讀者修改、讀者查詢、讀者刪除、新書入庫等功能,為讀者提供了書籍查詢、讀者借閱信息查詢、圖書網(wǎng)上續(xù)借等很多功能。大學(xué)為我們提供了自由的學(xué)習(xí)環(huán)境,使我們有更多的時間到圖書館借閱書籍,讓我們可以隨時掌握各方面的知識,不斷提高自我

7、、充實自我,但由于圖書館藏書成千上萬,我們很難一本一本的去查找自己感興趣的書籍,因此我們會經(jīng)常用到學(xué)校為我們提供的圖書管理系統(tǒng),用時間長了便對此產(chǎn)生了興趣,正好本次課程設(shè)計為我們提供了良好的機(jī)會,讓我們親自設(shè)計并實現(xiàn)了圖書管理系統(tǒng)的部分功能。設(shè)計一個圖書管理系統(tǒng)必不可少的必須對全管書籍進(jìn)行分類匯總。而這就是我們所說的數(shù)據(jù)庫設(shè)計的第一階段:需求分析。在這一階段除了對具體情況諸如實行對管理員的管理、對讀者的管理、書籍管理、書籍的借閱與歸還、借閱超時等功能的實現(xiàn),還需要對用戶的需求進(jìn)行調(diào)查和分析,否則就失去了設(shè)計這個系統(tǒng)的意義了。對于界面的設(shè)計我們應(yīng)該追求的是:美觀、易讀性強(qiáng)、清晰度高;原則是:不能

8、因為刻意追求美觀而以整個界面的清晰度的犧牲作為代價,不能為了清晰度而拋棄對易讀性的追求。再設(shè)計的過程中我們應(yīng)該根據(jù)實際的情況進(jìn)行設(shè)計,做到具體問題具體分析,不刻意追求原則。在對應(yīng)的界面與Access數(shù)據(jù)庫建立連接,并實現(xiàn)對應(yīng)的SQL語句進(jìn)行實現(xiàn)將產(chǎn)生的結(jié)果顯示出來。并運(yùn)用捕捉異常的方法,將異常信息顯示出來。實現(xiàn)SQL語句的時候借助前臺開發(fā)工具中關(guān)于數(shù)據(jù)處理的控件來完成。對于讀者而言他們的需求是了解圖書的基本情況,自己的借閱情況??偠灾褪菍崿F(xiàn)對各個信息表的查詢。對于圖書管理員而言要實現(xiàn)的功能相對而言比較多,例如實現(xiàn)新書入庫、Access數(shù)據(jù)庫表的創(chuàng)建、系統(tǒng)的維護(hù)等等,這些都需要設(shè)計和實現(xiàn)的。

9、第2章系統(tǒng)功能介紹2.1 系統(tǒng)功能總框圖圖書館管理系統(tǒng)功能總框圖,如圖2-1所示圖2-1系統(tǒng)功能框架圖2.2 模塊功能介紹2.2.1 管理員模塊功能介紹1. 管理員登陸此模塊主要是利用MenuBar添加菜單條,利用Menu和Menuitem添加菜單和菜單的各個參數(shù),通過事件ActionEvent可以實現(xiàn)進(jìn)入各個模塊如管理日志、管理員添加、管理員切換、讀者添加、讀者修改、讀者查詢、讀者刪除、新書入庫、書籍查詢、借閱書籍、歸還書籍、借閱超時及退出的功能。2. 管理日志此模塊可以清楚的顯示出書籍借閱與歸還的信息,包括書號、書名、圖書證號、借/還、操作日期、已付款額。讀者可以通過此模塊實現(xiàn)的功能清楚的

10、了解圖書被借閱和歸還的詳細(xì)信息,從而給讀者帶來了很多方便。3. 管理員添加功能介紹此模塊功能是增加新管理員的登陸帳戶。在圖書館管理系統(tǒng)中必須有每一個管理者的帳戶讓其可以正常進(jìn)行新圖書證的辦理、借閱書籍和歸還書籍等系統(tǒng)管理。所以在管理員功能模塊中增加了管理員添加這個功能。4. 管理員切換此模塊的主要功能是進(jìn)行管理員之間的切換,即單擊管理員菜單下的管理員切換,就會退出當(dāng)前管理員界面,從而出現(xiàn)管理員切換窗口,而另一管理員就可以在管理員切換窗口中的用戶名和密碼兩欄中通過輸入自己的用戶名和密碼直接進(jìn)入該系統(tǒng)。5. 2.2讀者管理1. 讀者添加此模塊主要的實現(xiàn)功能是添加新的讀者信息,即當(dāng)有新的讀者要看查看

11、本圖書館中的書藉,可以通過此功能實現(xiàn),當(dāng)數(shù)據(jù)庫中存在其新信息,即成為本圖書館的新一位讀者。其中信息分別包括圖書證號、學(xué)生姓名、性別、系別、班級,同時可有三項功能在此處實現(xiàn),即添加、重置以及返回。2. 讀者修改此模塊主要的實現(xiàn)功能對有信息更新的讀者進(jìn)行即時修改,以隨時更新讀者在數(shù)據(jù)庫中的信息。本模塊通過圖書證號確定讀者,可對讀者信息的新圖書證號、學(xué)短姓名、性別、系別、班級。此處可分別實現(xiàn)對該功能的修改、重置、返回。3. 讀者查詢此模塊主要可對所要了解的讀者信息。即把讀者的信息從數(shù)據(jù)庫調(diào)出來,顯示在該窗口中的文字區(qū)域。查詢方式分別有按圖書證查詢、按姓名查詢、按班級查詢、按年級查詢,并可通過辦理入相

12、應(yīng)的關(guān)鍵字,更加縮小查詢范圍。此處可實現(xiàn)查詢和返回功能。4. 讀者刪除此模塊可以刪除一些不再使用本系統(tǒng)的讀者資料,從而達(dá)到對數(shù)據(jù)庫中的清理,即清除一些不必要資料,此處有四種刪除途徑,分別為按圖書證號刪除、按姓名刪除、按班級刪除、安年級刪除,并可通過所輸入的關(guān)鍵字盡快找到所要刪除的資料。此處可分別實現(xiàn)對該功能的修改、重置、返回2.2.3書籍管理模塊功能介紹1. 新書入庫功能介紹此模塊主要的實現(xiàn)功能是將新來的圖書輸入到圖書館管理系統(tǒng)的書庫當(dāng)中,其中主要按如下信息往書庫中輸入,這部分的操作主要是便于書庫合理的管理,有利于讀者能夠?qū)π聲幸粋€更詳細(xì)的了解。其中包括如下信息:新書書號、新書名稱、新書出版

13、日期、新書出版社、入庫數(shù)量、編寫作者、新書單價。2. 書籍查詢功能介紹在圖書館管理系統(tǒng)中書籍查詢是最基本的功能,讀者可以根據(jù)自己的需求來查詢想要借閱的書籍。本系統(tǒng)是用Java應(yīng)用程序和Access數(shù)據(jù)庫一起開發(fā)的其中利用Java來編程實現(xiàn)功能的代碼和布置運(yùn)行界面。界面是由檢索項、檢索詞和顯示文本區(qū)三個部分組成的用戶根據(jù)自己的需要在檢索項中選擇自己所要按什么字段進(jìn)行查詢,其中書籍查詢功能的檢索項中可以按書號查詢、按書名查詢、按作者名查詢、按出版社查詢、按入庫時間查詢等基礎(chǔ)查詢。選擇檢索項后用戶只要在檢索詞中添寫自己所要查詢的內(nèi)容并確定鍵確認(rèn)后用戶要查詢的內(nèi)容就可以在顯示文本區(qū)中顯示出來。用戶可以

14、根據(jù)顯示的信息得知自己所要借閱書籍的情況。3. 2.4書籍借閱與歸還功能介紹1. 借閱書籍功能介紹此模塊主要實現(xiàn)讀者可憑有效的圖書證號,借閱圖書館內(nèi)未借出的圖書。輸入圖書證號后,可顯示了該圖書證持有者的全部信息(包括借書證號、姓名、性別、所在班級、所屬系部、當(dāng)前可借閱圖書個數(shù)),供讀者確認(rèn)信息。通過輸入有效的圖書編號,查詢該圖書的全部信息(包括書號、書名、作者、出版社、是否借出、價格)。借閱成功后,將該圖書證號、書號、借閱日期、應(yīng)還日期信息插入到數(shù)據(jù)庫的表中進(jìn)行記錄。2. 歸還書籍功能介紹此模塊主要實現(xiàn)讀者憑所要歸還圖書的圖書證號歸還圖書。輸入所要歸還的圖書編號后,可顯示了該圖書證持有者的全部

15、信息(包括借書證號、姓名、性別、所在班級、所屬系部、當(dāng)前可借閱圖書個數(shù)),供讀者確認(rèn)信息。還書成功后,從數(shù)據(jù)庫中刪除該書的借出記錄,并修改數(shù)據(jù)庫中的相應(yīng)信息。3. 2.5借閱超時功能介紹此模塊主要實現(xiàn)顯示過期圖書的信息(包括圖書證號、書號、借閱日期、應(yīng)還日期)提醒讀者還書??删庉?.3組內(nèi)任務(wù)分工組內(nèi)分工情況如下表2-1所示表2-1組內(nèi)分工情況表組員李呈呈管理員添加、新書入庫、按指定條件進(jìn)行圖書查詢。數(shù)據(jù)庫創(chuàng)建、登陸界面設(shè)計、管理員模塊??删庉嫷?章數(shù)據(jù)庫設(shè)計在此圖書館管理系統(tǒng)中,使用到了一個重要的連接,即與數(shù)據(jù)庫Accesss相連。數(shù)據(jù)庫中存有圖書館中所信息,包括讀者信息、管理員資料、借閱與

16、退還記錄。所有與管理有關(guān)的數(shù)據(jù)皆在其中,是保證系統(tǒng)能夠正常實現(xiàn)各種功能的一架橋。3.1 數(shù)據(jù)庫需求分析1. Admi表,即管理員表,記錄了用戶名和密碼。2. Admirz表,即管理日志表,記錄了書號、書名、圖書證號、借/還、操作日期、已付款額。3. book表,即圖書表,記錄了書號、書名、作者、出版社、入庫時間、是否借出、價格。4. borrowbook表,即借閱表,記錄了圖書證號、書號、借閱日期、應(yīng)還日期。5. person表,即讀者表,記錄了圖書證號、姓名、性別、系別、班級。3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計圖書館管理系統(tǒng)E-R圖,如圖3-1圖3-1圖書館管理系統(tǒng)E-R圖可編輯3.3數(shù)據(jù)庫表的設(shè)計

17、LAdmi表表中記錄了可以使管理員進(jìn)入該系統(tǒng)的用戶名及密碼,如表3-1所示表3-1管理員信息表字段名稱數(shù)據(jù)類型度備注用戶名文本10密碼文本152.Admirz表表中記錄借還書日志,用于存下所有對圖書操作的記錄,以便以后可以翻閱和查找,如表3-2所示。表3-2管理日志表書號文本10書名文本15作者文本15出版社文本15入庫時間DATE15已付款額文本103.book表表中記錄了庫內(nèi)所有圖書的所有資料,如表3-3。表3-3圖書表字段名稱數(shù)據(jù)類型長度備注10書名文本15作者文本15出版社文本15入庫時間DATE15是否借出文本10價格文本104. person表可編輯表中記錄庫中所有讀者的相關(guān)信息,

18、如表3-4所示表3-4讀者表字段名稱數(shù)據(jù)類型度10姓名文本15性別文本15系別文本15班級文本155.borrowbook表表內(nèi)記錄了此時圖書的借閱情況,如表3-5所小。表3-5借閱表字段名稱數(shù)據(jù)類型長度備注圖書證號文本10書號文本15借閱日期DATE15應(yīng)還日期DATE15可編輯第4章系統(tǒng)功能實現(xiàn)4.1 管理員模塊功能實現(xiàn)4.1.1 管理員登陸此模塊是整個系統(tǒng)最主要的部分,管理員可以通過此模塊實現(xiàn)進(jìn)入其余各個模塊如管理日志、管理員添加、管理員切換、讀者添加、讀者修改、讀者查詢、讀者刪除、新書入庫、書籍查詢、借閱書籍、歸還書籍、借閱超時及退出的功能。圖書管理系統(tǒng)管理員界面如圖4-1所示。圖4-

19、1圖書管理系統(tǒng)管理員主要程序代碼如下:publicvoidactionPerformed(ActionEvente)if(e.getSource()=itemAdmiqh)this.dispose();Inwinin=newIn("系統(tǒng)登陸");if(e.getSource()=itemtc)System.exit(0);if(e.getSource()=itemAdmixj)CreatAdmicreatAdmi=newCreatAdmi("管理員添加");if(e.getSource()=itemAdmirz)WinTablewintable=newW

20、inTable("管理日志");if(e.getSource()=itemBookrk)AddInfyaddInfy=newAddInfy();if(e.getSource()=itemPersonlr)Winpersonaddwinperson=newWinpersonadd("if(e.getSource()=itemPersoncx)Winpersonsearchwinperson=newWinpersonsearch("if(e.getSource()=itemPersonxg)Winpersonmodifywinperson=newWinper

21、sonmodify("if(e.getSource()=itemPersonsc)Winpersondeletewinperson=newWinpersondelete("if(e.getSource()=itemBookcx)Windowjjok=newWindowjj();if(e.getSource()=itemchaoshi)daywin=newday();if(e.getSource()=itemBorrowjs)Borrowbookwin=newBorrowbook();讀者添加");讀者信息查詢");讀者信息修改");讀者刪除&q

22、uot;);if(e.getSource()=itemBorrowhs)Returnbookwin=newReturnbook();4.1.2 管理日志此模塊通過定義類WinTable繼承頂層容器JFrame,再添加普通容器JScrollPane、Jpanel,然后通過BorderLayout布局創(chuàng)建界面,最后主要通過數(shù)組利用while循環(huán)在連接好的數(shù)據(jù)庫中查找表Admirz中的內(nèi)容,從而實現(xiàn)了可以清楚的顯示出書籍借閱與歸還信息的功能。管理日志界面如圖4-2所示。菖管理日總m|書號書市田書證號借您操作日期已付瓢轂DOOD001陶1陶程基眥00031借書2D09-J3-11OO-OQ.0.000

23、00003。用加致觸00004情書2D09-J3-1100JU.0,0OQODO01J如峨程基槽OOQQ1市書20O9-Q4-1700:00-.O.QOOODOQ1取?輻呈里出OODD1情書2D09-Q4-1900:00.0.00000003Qgl蹶據(jù)庫00004還節(jié)2D(J9-J4-1000.00.O.QUDOD004G誥皆UU0O1借書20jy-J4-120UJU.0.0刖C語言00001心書2JO9-J5-2200:0Q.0.0ODOonns親我東同nnnni情書2006-73ODraann0000033口舊。2數(shù)掘庫OODOI惜書2D09-Q6-2300:00.0.00000033口中

24、曰。數(shù)比庫00001還書2309-062300:0(J.0.0圖4-2管理日志主要程序代碼如下:WinTable(Strings)super(s);tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundExceptione)System.out.println(""+e);trycon=DriverManager.getConnection("jdbc:odbc:sun","123","123");sql=con.

25、createStatement();rs=sql.executeQuery("SELECT*FROMAdmirz");while(rs.next()k+;catch(SQLExceptione)System.out.println(""+e);trycon=DriverManager.getConnection("jdbc:odbc:sun","123","123");sql=con.createStatement();rs=sql.executeQuery("SELECT*FROMA

26、dmirz");a=newObjectk6;while(rs.next()for(intj=0;j<6;j+)if(j<5)aij=rs.getString(j+1);elseaij=rs.getDouble(j+1);i+;con.close();catch(SQLExceptione)System.out.println(""+e);table=newJTable(a,name);Containercon=getContentPane();getContentPane().add(newJScrollPane(table),BorderLayout

27、.CENTER);setBounds(120,125,700,500);setVisible(true);validate();addWindowListener(newDisposeListener();4.1.3 管理員添加功能實現(xiàn)功能介紹:該程序主要實現(xiàn)管理員的添加,以便于讓實行對圖書管理員的管理。按照標(biāo)簽提示輸入信息,然后點擊確定按鈕。首先判斷管理員名文本框中輸入的文本信息是否符合大于3個字符并小于10個字符的規(guī)則,如果不符合規(guī)則,則提示錯誤,如果符合規(guī)則,再到Admi表中進(jìn)行查詢,如果相同則用提示框提示錯誤。若無相同則可注冊。但還需要保證前后兩次的密碼相同,才能成功注冊,管理員登陸窗

28、口如圖4-3所示。用尸者密舟酶以密叫:嚴(yán)-Ini x|確定 |清空 |圖4-3管理員添加成功界面主要程序代碼如下:publicvoidactionPerformed(ActionEventc)Stringb=textUser.getText();Stringd=textPassword1.getText();Stringg=textPassword2.getText();if(c.getSource()=buttonqk)textUser.setText(null);textPassword1.setText(null);textPassword2.setText(null);if(c.get

29、Source()=buttonEnter|c.getSource()=textPassword2)if(b.length()<3|b.length()>10)JOptionPane.showMessageDialog(null,"用戶名應(yīng)在310個字符之間");textUser.setText(null);elsetryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundExceptione)System.out.println(""+e);tr

30、ycon=DriverManager.getConnection("jdbc:odbc:sun","123","123");sql=con.createStatement();rs=sql.executeQuery("SELECT*FROMAdmiWHERE用戶名="+"'"+b+"'");if(rs.next()Stringuser=rs.getString(1);if(b.equals(user)JOptionPane.showMessageDialog(

31、null,"此管理員已被注冊警告",JOptionPane.WARNING_MESSAGE);elseif(d.equals(g)sql.executeUpdate("INSERTINTOAdmiVALUES"+"("+"'"+b+"'"+","+"'"+d+"'"+")");this.dispose();JOptionPane.showMessageDialog(null,"

32、;管理員注冊成功");elseJOptionPane.showMessageDialog(null,"兩次輸入密碼不一致警告",JOptionPane.ERROR_MESSAGE);con.close();catch(SQLExceptione)System.out.println(""+e);可編輯4.1.4管理員切換此模塊功能是退出當(dāng)前管理員界面,進(jìn)入管理員切換窗口,另一用戶可以通過輸入自己的用戶名和密碼直接進(jìn)入該系統(tǒng)。但此用戶名和密碼都必須與已經(jīng)連接好的數(shù)據(jù)庫中表Admi中的用戶名和密碼相吻合。管理員切換界面如圖4-4所示。圖4-4管理員

33、切換主要程序代碼如下:publicvoidwindowClosing(WindowEvente)e.getWindow().dispose();4.2讀者管理模塊功能實現(xiàn)4.2.1 讀者添加功能介紹:添加新的讀者,使其能夠進(jìn)入圖書系統(tǒng)閱覽圖書,讀者添加如圖4-5所示讀者添加雷普"尋:羋生姓君3隆乳:裝規(guī)I:同維!圖4-5讀者添加主要程序代碼如下publicvoidactionPerformed(ActionEvente)if(e.getSource()=button1)/添加Stringch=text1.getText();if(ch.length()!=5)JOptionPane.

34、showMessageDialog(null,"請輸入5位圖書證號!");text1.setText(null);else/連接數(shù)據(jù)庫Stringnumber,name,sex,dept,classes,record,insertStr;number=text1.getText();name=text2.getText();if(box1.getState()=true)sex=box1.getLabel();else可編輯sex=box2.getLabel();dept=text3.getText();classes=text4.getText();rs=sql.exec

35、uteQuery("SELECT*FROMpersonWHERE圖書證號="+皿+number+皿);if(rs.next()JOptionPane.showMessageDialog(null,”此圖書證號已存在","警告”,JOptionPane.WARNING_MESSAGE);text1.setText(null);record="("+"”'+number+""'+","+"”'+name+""'+",&

36、quot;+"”'+sex+""'+","+"”'+dept+""'+","+"”'+classes+""'+")"insertStr="INSERTINTOpersonVALUES"+record;sql.executeUpdate(insertStr);JOptionPane.showMessageDialog(null,”添加成功!");con.close();4

37、.2.2讀者修改功能介紹:對讀者需要修改的資料進(jìn)行重定義,讀者信息修改如圖4-6所示。讀者信息修改唱如入住¥成今Q正個丁|口皿小河QsnuogiuiQ學(xué)上的1工可編輯挈則t工惴期/到也:罔比心|4-6 讀者信息修改主要程序代碼如下:publicvoidactionPerformed(ActionEvente)if(e.getSource()=button1)/修改Stringch=text1.getText();if(ch.length()!=5)JOptionPane.showMessageDialog(null,"請輸入5位圖書證號!");text1.setT

38、ext(null);elsetry/連接數(shù)據(jù)庫Stringnumber,name,sex,dept,classes,newnum,record,updateStr;newnum=text5.getText();number=text1.getText();name=text2.getText();if(box1.getState()=true)sex=box1.getLabel();elsesex=box2.getLabel();dept=text3.getText();classes=text4.getText();sql=con.createStatement();rs=sql.execu

39、teQuery("SELECT*FROMpersonwhere圖書證號可編輯="+"'"+newnum+"'");if(rs.next()rs1=sql.executeQuery("SELECT*FROMpersonwhere圖書證號="+"'"+number+"'");if(rs1.next()JOptionPane.showMessageDialog(null,"此圖書證號已存在","警告",JOpt

40、ionPane.WARNING_MESSAGE);text1.setText(null);elseupdateStr="UPDATEpersonSET圖書證號="+"'"+number+"'"+","+"姓名="+"'"+name+"'"+","+"性別="+"'"+sex+"'"+","+"系別=&

41、quot;+"'"+dept+"'"+","+"班級="+"'"+classes+"'"+"WHERE圖書證號="+"'"+newnum+"'"sql.executeUpdate(updateStr);JOptionPane.showMessageDialog(null,"修改成功!");elseJOptionPane.showMessageDial

42、og(null,"查無此人!");/連接數(shù)據(jù)庫con.close();4.2.3讀者查詢功能介紹:可以對數(shù)據(jù)庫中已有的讀者信息進(jìn)行查詢。讀者查詢?nèi)鐖D4-7。可編輯讀者信息自詢海詵j屏南函許三而例島涮丸逐戊工觥字:F1'Ml隨雷學(xué)繇T1髓母白富。值,工程承Q圖4-7讀者信息查詢主要程序代碼如下:publicvoidactionPerformed(ActionEvente)if(e.getSource()=button1|e.getSource()=text)/查詢area.setText(null);if(str="按圖書證號查詢"|str=nul

43、l)&&text.getText()!=null)booleanflag=true,f=true;Stringnum=text.getText();/連接數(shù)據(jù)庫rs=sql.executeQuery("SELECT*FROMpersonwhere圖書證號="+""'+num+""');while(rs.next()f=false;Stringnumber=rs.getString("圖書證號");Stringname=rs.getString("姓名");Stri

44、ngsex=rs.getString("性別");Stringdept=rs.getString("系別");Stringclasses=rs.getString("班級");if(flag)area.append("圖書證號為"+num+"的學(xué)生信息如下:");flag=false;area.append("n姓名:"+name+"性別:"+sex+"系別:"+dept+"班級:"+classes+"n&

45、quot;);if(f)area.append("查無此人!");catch(SQLExceptionc)System.out.println(c);4.2.4讀者刪除功能介紹:刪除數(shù)據(jù)庫中已有信息。讀者刪除如圖4-8所示。讀者刪除苗喻人冊摘菁梅中;|rrrn虬名為主E門巾鄴1信電5;S1書I正號:DQ003性別:更系刷:或力工程承一刪除圖4-8讀者刪除主要程序代碼如下:if(e.getSource()=button1)/刪除area.setText(null);if(str="按圖書證號刪除"|str=null)&&text.getTe

46、xt()!=null)Stringnum=text.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriveL);catch(ClassNotFoundExceptionc)System.out.println(""+c);/連接數(shù)據(jù)庫rs=sql.executeQuery("SELECT*FROMpersonwhere圖書證號="+""'+num+""');if(rs.next()area.append("該信息已刪除!&q

47、uot;);StringdelStr="DELETEFROMpersonWHERE圖書證號="+"”'+num+"”'sql.executeQuery(delStr);con.close();catch(SQLExceptionc)System.out.println(c);4.3 書籍管理模塊功能實現(xiàn)4.3.1 新書入庫實現(xiàn)功能介紹:此界面主要完成的功能是往數(shù)據(jù)庫book表中添加新書的記錄,在book表中可查看最新的記錄。在新書信息輸入的過程中,會出現(xiàn)一些異常處理,如某個字段的信息沒有填寫;新書信息輸入字段的過程中,輸入的字段類型與給定

48、的字段類型與輸入不匹配(如:貨幣、日期);輸入的信息長度超過給定的字段長度等。如果填寫的內(nèi)容正確則可以成功將新書添加入庫,新書入庫窗口如圖4-9所示。圖4-9添加新書入庫界面主要程序代碼如下:publicvoidactionPerformed(ActionEventc)if(c.getSource()=button2)this.dispose();if(c.getSource()=button1)/連接數(shù)據(jù)庫rs=stm.executeQuery("select書號frombookwhere書號二“'+textField1.getText()+"”');if

49、(rs.next()JOptionPane.showMessageDialog(null,"此書號已存在匚"警告”,JOptionPane.WARNING_MESSAGE);return;floatm;StringstU,str2,str3,str4,str6,str7,str8,str9,stU0;stU=textField1.getText();str10="未借出";m=Float.parseFloat(str9);str="("+"”'+str1+"','"+str3+&q

50、uot;','"+str8+"','"+str6+"','"+str7+"','"+str10+"',"+m+")"Stringinsert="INSERTINTObook(書號,書名,作者,出版社,入庫時間,是否借出,價格)VALUES"+str;stm.executeUpdate(insert);textField1.setText("");JOptionPane.sho

51、wMessageDialog(null,”增加信息成功!”);con.close();catch(Exceptione)JOptionPane.showMessageDialog(null,”請認(rèn)真檢查各項!然后重試.","異常警告",JOptionPane.WARNING_MESSAGE);4.3.2 查詢功能實現(xiàn)功能介紹:本系統(tǒng)包含兩項一是檢索項令一個是檢索詞,在檢索項中用戶可以根據(jù)自己的需求來選擇所要查詢的項目并在檢索詞中添寫自己所要查詢的內(nèi)容。本系統(tǒng)副帶四個按鈕:確定、取消、查看全庫,該圖書館管理系統(tǒng)的查詢界面如圖4-10所示。圖4-10查詢系統(tǒng)界面在該系

52、統(tǒng)中為了用戶使用方便還設(shè)有查看全庫一項,用戶可以通過這一功能來查看全庫 的圖書,所查詢的內(nèi)容將在下方的文本區(qū)中顯示,其界面 4-11所示。圖4-11查看全庫信息使用檢索詞必須得滿足一定的查詢條件才可以執(zhí)行,用戶必須得在檢索項中選擇查詢方式并添好檢索詞才可查詢否則系統(tǒng)會顯示未找到您要查找的內(nèi)容并給以提示,如圖4-12所主要程序代碼如下:publicvoid計emStateChanged(ItemEvente)area.setText(null);Stringname=choice1.getSelectedItem();area.append("請您在檢索項中輸入您要查找的內(nèi)容"

53、;);publicvoidactionPerformed(ActionEvente)if(e.getSource()=button2)/取消鍵text1.setText(null);elseif(e.getSource()=button3)/返回鍵this.dispose();elseif(e.getSource()=button4)/查看全庫Connectioncon;Statementsql;ResultSetrs;try/建立數(shù)據(jù)源Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundExce

54、ptionc)System.out.println(""+c);trycon=DriverManager.getConnection("jdbc:odbc:sun","","");sql=con.createStatement();rs=sql.executeQuery("select*frombook");while(rs.next()Stringbookname=rs.getString("書名");Stringauther=rs.getString("作者&q

55、uot;);Stringchubanshe=rs.getString("出版社");Stringbookno=rs.getString("書號");Stringdata=rs.getString("入庫時間");Stringyesorno=rs.getString("是否借出");area.append("n書號:"+bookno);area.append("書名:"+bookname);area.append("作者:"+auther);area.app

56、end("出版社:"+chubanshe);area.append("n入庫時間:"+data);area.append("是否借出:"+yesorno);con.close();catch(SQLExceptionc)System.out.println(""+c);4.4 書籍借閱與歸還功能實現(xiàn)4.4.1 借閱書籍功能實現(xiàn)輸入圖書證號“0001”后點擊查看按鈕,可顯示該讀者信息,若輸入圖書證號錯誤,點擊查看按鈕則會彈出借書證錯誤對話框,如圖4-13所示。輸入圖書編號“0000003”接回車鍵,可顯示該圖書信息,

57、若輸入圖書編號錯誤,按回車鍵則會彈出圖書編號錯誤對話框,如圖4-14所示。點擊借閱按鈕則會彈出圖書借閱成功對話框。借閱書籍功能的具體實現(xiàn)如圖4-15所示。圖4-13借書證錯誤圖4-14圖書編號錯誤圖4-15借閱書籍主要程序代碼如下:publicvoidactionPerformed(ActionEvente)if(e.getSource()=tj)if(!tscard.getText().equals(null)&&!tsid.getText().equals(null)Stringstr1,str2;str1=tsid.getText();str2=tscard.getTex

58、t();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundExceptionc)System.out.println(""+c);/連接數(shù)據(jù)庫圖書證號rs=sql.executeQuery("SELECT*FROMpersonwhere="+"'"+str2+"'");Stringls1=null,ls2=null,ls3=null;intis1=0;if(rs.next()ls2=str2;c

59、on.close();FROM book where 書號/連接數(shù)據(jù)庫rs=sql.executeQuery("SELECT="+"'"+str1+"'");if(rs.next()if(rs.getString("是否借出").equals("未借出")ls1=str1;ls3=rs.getString("書名");con.close();/連接數(shù)據(jù)庫rs=sql.executeQuery("SELECTcount(書號)FROMborrowbookwhe

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論