版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、xxx職業(yè)技術(shù)學(xué)院課程設(shè)計論文設(shè)計題目:圖書管理系統(tǒng)學(xué)生姓名:xxx 指導(dǎo)教師:xxx 專業(yè)名稱:網(wǎng)絡(luò)系統(tǒng)管理所在院系:信息工程系 2007年 7月 5 日摘 要圖書管理系統(tǒng)是典型的信息管理系統(tǒng)(mis),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。因此本人結(jié)合開入式圖書館的要求,對ms access數(shù)據(jù)庫管理系統(tǒng)、java程序設(shè)計進(jìn)行了較深入的學(xué)習(xí)和應(yīng)用,主要完成對圖書管理系統(tǒng)的需求分析、功能模塊劃分,并由此設(shè)計了數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用程序。設(shè)計充分利用java、ms
2、access數(shù)據(jù)庫技術(shù)的強(qiáng)大力量,提高了編程效率和可靠性。關(guān)鍵字:數(shù)據(jù)庫 java語言 access 圖書管理 gui目 錄第1章 選題及本次課程設(shè)計的任務(wù)11.1查找資料11.2選題11.3總結(jié)數(shù)據(jù)、明確任務(wù)11.4本次設(shè)計的重大意義11.5本章小結(jié)1第2章 設(shè)計實現(xiàn)的詳細(xì)步驟22.1系統(tǒng)的基本結(jié)構(gòu)22.2用戶登錄窗體22.3管理系統(tǒng)主窗體32.4瀏覽圖書信息42.5添加圖書信息52.6修改圖書信息72.7查詢圖書信息82.8刪除圖書信息92.9讀者信息管理102.10 access數(shù)據(jù)庫102.11本章小結(jié)11第3章 設(shè)計中遇到的重點(diǎn)及難點(diǎn)123.1重點(diǎn)及難點(diǎn)123.2本章小結(jié)12第4章
3、本次設(shè)計中存在不足與改良方案134.1不足與改良方案134.2本章小結(jié)13結(jié) 論14參考文獻(xiàn)15致 謝16指導(dǎo)教師評語17答辯委員會評語18第1章 選題及本次課程設(shè)計的任務(wù)1.1查找資料java應(yīng)用教程java2程序設(shè)計基礎(chǔ)java程序設(shè)計教程與實訓(xùn)管理信息系統(tǒng)1.2選題圖書管理系統(tǒng)1.3總結(jié)數(shù)據(jù)、明確任務(wù)該系統(tǒng)必須具備的數(shù)據(jù)庫:圖書信息數(shù)據(jù)庫、讀者信息數(shù)據(jù)庫、管理員數(shù)據(jù)庫該系統(tǒng)必須具備以下功能:1、能對各類圖書實行分類管理;2、提供必要的讀者信息;3、對圖書的查詢;4、具有圖書檢索功能;5、能對讀者信息進(jìn)行管理等。這樣不僅能較好地幫助讀者在最短的時間內(nèi)找到自己所需要的圖書書目、編號,而且能讓
4、圖書管理員對讀者信息進(jìn)行管理1.4本次設(shè)計的重大意義在此次課程設(shè)計中,主要設(shè)計的是圖書館管理員管理圖書部分。圖書館管理員有修改圖書借閱者信息的權(quán)限,圖書館管理員功能的信息量大,數(shù)據(jù)安全性和保密性要求最高。本次課程設(shè)計實現(xiàn)對圖書信息、借閱者信息。圖書館管理員可以瀏覽、查詢、添加、刪除、修改的基本信息;瀏覽、查詢、添加、刪除和修改圖書借閱者的基本信息。1.5本章小節(jié)本章主要通過查找資料明確了此次課程設(shè)計的題目,并確定了此次課程設(shè)計的主要任務(wù)和此次課程設(shè)計的重要意義。第2章 設(shè)計實現(xiàn)的詳細(xì)步驟2.1系統(tǒng)的基本結(jié)構(gòu)登錄圖書信息管理讀者信息管理瀏覽圖書信息添加新書信息修改圖書信息查詢圖書信息刪除圖書信息
5、2.2用戶登錄窗體的的實現(xiàn) 本窗體是為了讓圖書館管理員按照賬號和密碼進(jìn)行登錄,如賬號和密碼輸入正確,即可進(jìn)入管理系統(tǒng)主窗體,而把用戶登錄窗體關(guān)閉。如果輸入錯誤,則彈出錯誤提示。圖2-1 用戶登錄窗體在輸入管理員的登錄信息時,通過連接數(shù)據(jù)庫來判斷信息是否正確。string strurl = jdbc:odbc:driver=microsoft access driver (*.mdb);dbq=student.mdb;class.forname(sun.jdbc.odbc.jdbcodbcdriver);connection conn = drivermanager.getconnection(
6、strurl);2.3管理系統(tǒng)主窗體的的實現(xiàn) 管理系統(tǒng)主窗體是當(dāng)管理員輸入賬號和密碼正確后進(jìn)入的窗體,該窗體主要包括管理員可以對圖書進(jìn)行管理的一些操作,瀏覽圖書,添加圖書,查詢圖書等和對讀者的一些瀏覽、查詢、修改信息等操作。 圖2-2 管理系統(tǒng)主窗體 在此窗體上,主要添加了標(biāo)簽和按鈕,該5個按鈕可以鏈接到對圖書進(jìn)行詳細(xì)操作的5個窗體上,分別是allinfo ,addinfo, modifyinfo, searchinfo, deleteinfo。“讀者信息管理”按鈕可以鏈接到對讀者信息管理的窗體上。在讀者信息管理的窗體上可以對讀者的基本信息進(jìn)行管理。為了美化窗體,在中間加了4個標(biāo)簽。2.4瀏覽
7、圖書信息 瀏覽圖書信息是對數(shù)據(jù)庫中的圖書信息進(jìn)行全部瀏覽顯示,顯示書號,書名,是否借出,出版日期,作者,圖書分類,系別,出版社,備注。圖2-3 圖書信息rs=stmt.executequery(select * from stuinfo);通過和access數(shù)據(jù)庫的連接之后,通過selecet語句從數(shù)據(jù)庫中顯示全部信息。 while(rs.next() 處理查詢過程 string 書號 = rs.getstring(書號); string 系別 = rs.getstring(系別); string 出版社 = rs.getstring(出版社); string 書名 = rs.getstrin
8、g(書名); string 借出 = rs.getstring(借出); string 出版日期 = rs.getstring(出版日期); string 作者 = rs.getstring(作者); string 圖書分類 = rs.getstring(圖書分類); string 備注 = rs.getstring(備注); 2.5添加圖書信息 添加圖書信息窗體主要是對入庫新書的信息添加,在此窗體中,需要把圖書的詳細(xì)信息添加完整,格式添加正確,否則會彈出信息不全而不能添加如數(shù)據(jù)庫的提示。圖2-4 添加圖書信息在實現(xiàn)添加圖書窗體的過程中,首先得定義標(biāo)簽、按鈕以及文本框等,然后給各個控件添加文本
9、,位置,顏色等屬性的設(shè)置,設(shè)置完之后將所有控件添加到窗體上,并設(shè)置為可視,把基本的界面設(shè)計完之后,開始連接數(shù)據(jù)庫(jdbc),通過sql語句連接access數(shù)據(jù)庫,在向數(shù)據(jù)庫中寫入信息之前,還得先通過學(xué)號判斷輸入入的信息在數(shù)據(jù)庫中是否存在,如果存在則提示記錄已經(jīng)存在,請輸入其他學(xué)號。判斷語句如下:從數(shù)據(jù)庫的圖書信息表中取得第一條記錄,并判斷resultset rs = stmt.executequery(select * from stuinfo where 書號=+ jtextfield1.gettext() + );設(shè)置循環(huán),直到最后一條記錄,如果存在和輸入的記錄學(xué)號相同的信息,則提示警告
10、。并返回重新輸入if(rs.next()joptionpane.showmessagedialog(null, 此書號已經(jīng)存在., 警告,joptionpane.warning_message);return;如判斷學(xué)號在數(shù)據(jù)庫中無重復(fù)記錄,則將新輸入的信息添加到數(shù)據(jù)庫中。stmt.executeupdate(insert into stuinfo(書號,系別,出版社,書名,借出,出版日期,作者,圖書分類,備注values(+jtextfield1.gettext()+,+jcombobox3.getselecteditem()+,+jtextfield5.gettext()+,+jtextf
11、ield2.gettext()+,+jcombobox1.getselecteditem()+,+jtextfield3.gettext()+,+jtextfield4.gettext()+,+jcombobox2.getselecteditem()+,+jtextarea.gettext()+);在添加完一條記錄后,會彈出添加信息成功提示,并且會調(diào)用顯示圖書信息窗體,可以在此窗體中查看剛剛添加的圖書信息,并且添加圖書信息窗體不會自動關(guān)閉,如果想繼續(xù)添加下一本圖書信息可以不用再去調(diào)用添加圖書信息窗體,直接可以進(jìn)行添加了。當(dāng)把所有的圖書信息添加完之后,可以點(diǎn)關(guān)閉,將添加圖書信息窗體關(guān)閉。2.6修
12、改圖書信息在實現(xiàn)修改圖書信息的模塊中,第一步先得通過學(xué)號查詢,找到要修改的圖書記錄,再進(jìn)入修改窗體進(jìn)行對記錄的修改。如找不到,則提示“找不到對應(yīng)信息”。圖2-5修改圖書信息 通過對圖書的查詢,如果找到要修改的圖書信息,進(jìn)入修改窗體,對記錄進(jìn)行修改,書號字段默認(rèn)為不可修改項,因為書號是第一次輸入圖書信息時,已經(jīng)確定的字段,在access數(shù)據(jù)庫中為主關(guān)鍵字,所以不可以修改。其他項都為可修改字段。在修改記錄的設(shè)計中,其實是將原先的記錄刪除掉,然后在將修改完的記錄添加進(jìn)數(shù)據(jù)庫,在添加之前把記錄刪除:stmt.executeupdate(delete * from stuinfo where 書號 =
13、+jtextfieldnum.gettext()+);這樣在添加的時候就不會出現(xiàn)重復(fù)記錄了。在輸入修改圖書信息和添加新書信息時一樣,每項都得輸入,并且格式輸入正確(特指出版日期為日期格式mm-dd-yy),將信息都輸入完后,就可以將輸入的修改信息添加到數(shù)據(jù)庫中了,具體添加的方法和上面的添加新書信息模塊中的添加語句一樣,在此略過。在把修改后的信息添加到數(shù)據(jù)庫中之后,彈出 “修改信息成功”對話框。具體實現(xiàn)如下:joptionpane.showmessagedialog(null, 修改信息成功!);2.7查詢圖書信息在實現(xiàn)查詢圖書信息的模塊中,第一步先得通過學(xué)號或者書名條件查詢,兩者的關(guān)系是或的關(guān)
14、系,但是當(dāng)兩者都輸入的時候就是且的關(guān)系了。其中可以有一個為空,但是不可以都為空。兩個都為空或找不到,則提示相關(guān)錯誤信息。找到要修改的圖書記錄,再進(jìn)入修改窗體進(jìn)行對記錄的修改。如果找到則顯示找到的信息。圖2-6 查詢圖書條件通過輸入的條件在數(shù)據(jù)庫中查找相關(guān)的記錄。具體步驟如下:if(jtextfieldnum.gettext().trim().equals()|jtextfieldname.gettext().trim().equals() rs = stmt.executequery(select * from stuinfo where 書號=+jtextfieldnum.gettext()
15、+ or 書名=+jtextfieldname.gettext()+);else if(jtextfieldnum.gettext().trim().equals()&jtextfieldname.gettext().trim().equals()joptionpane.showmessagedialog(null, 請至少輸入一個條件, 警告,joptionpane.warning_message);elsers = stmt.executequery(select * from stuinfo where 書號=+jtextfieldnum.gettext()+ and 書名=+jtext
16、fieldname.gettext()+)如果輸入的條件中(書號或書名)有一項為空則可以繼續(xù)進(jìn)行下面的操作,和數(shù)據(jù)庫連接,從數(shù)據(jù)庫中查找符合條件的記錄。并通過顯示窗體顯示。顯示窗體和修改圖書信息的窗體一樣,只不過沒有修改功能。把查詢到的符合條件的一條記錄通過顯示圖書信息窗體顯示出來。2.8刪除圖書信息 在圖書信息的刪除模塊中,首先通過學(xué)號查詢,查詢條件不可以為空,如果為空,則提示錯誤信息。輸入學(xué)號后,系統(tǒng)連接數(shù)據(jù)庫,從數(shù)據(jù)庫中查找符合條件的記錄。如果沒找到,則提示沒有找到符合條件的信息。如果找到,則首先調(diào)用顯示記錄窗體,讓用戶驗證是否為準(zhǔn)被刪除的記錄。如果是,則確定刪除,在確定刪除之后,還會彈
17、出刪除確定提示對話框: 圖2-7刪除確定提示if(joptionpane.showconfirmdialog(null, 確實要刪除該生信息嗎?n刪除的信息將不能恢復(fù),繼續(xù)?,刪除確定, joptionpane.ok_cancel_option, joptionpane.question_message) =0)stmt.executeupdate(delete * from stuinfo where 書號 = +jtextfieldnum.gettext()+);joptionpane.showmessagedialog(null, 刪除信息成功!);allinfo allinfo = n
18、ew allinfo();當(dāng)刪除成功后,會彈出“記錄已刪除”信息提示。2.9讀者信息管理讀者信息管理模塊是在設(shè)計完圖書信息管理模塊后加上去的,其包括的幾個模塊和圖書管理的基本相同,在access數(shù)據(jù)庫中又加入了一個讀者信息表,將讀者的基本信息存在此表中,在讀者信息管理下的幾個模塊中用到的信息記錄也都是從此表中調(diào)用。圖2-8 讀者信息管理讀者信息管理模塊也包括五個窗體。瀏覽讀者信息、添加讀者信息、修改讀者信息、查詢讀者信息、刪除讀者信息設(shè)計此模塊時,基本是復(fù)制上面的圖書管理模塊的代碼,將其中連數(shù)據(jù)庫的地方改了改,其詳細(xì)步驟和實現(xiàn)過程略過。此窗體是通過圖書管理窗體界面上的一個按鈕連接過來的。在調(diào)出
19、此窗體時,原先的圖書管理窗體并不關(guān)閉,使此窗體在圖書管理窗體之上。看起來也比較美觀。2.10 access數(shù)據(jù)庫基本的界面和java程序都設(shè)計好了,數(shù)據(jù)庫的設(shè)計也是必不可少的。在此次課程設(shè)計中,根據(jù)老師的要求還有自己所學(xué)的知識,本人采用的是access數(shù)據(jù)庫管理。access使用標(biāo)準(zhǔn)的sql(structured query language,結(jié)構(gòu)化查詢語言)作為它的數(shù)據(jù)庫語言,從而提供了強(qiáng)大的數(shù)據(jù)處理能力和通用性,使其成為一個功能強(qiáng)大而且易于使用的桌面關(guān)系型數(shù)據(jù)庫管理系統(tǒng)和應(yīng)用程序生成器。一個access數(shù)據(jù)庫中可以包含表、查詢、窗體、模塊以及數(shù)據(jù)訪問頁。access數(shù)據(jù)庫使用單一的*.md
20、b文件管理所有的信息,這種針對數(shù)據(jù)庫集成的最優(yōu)化文件結(jié)構(gòu)不僅包括數(shù)據(jù)本身,也包括了它的支持對象。關(guān)于access數(shù)據(jù)庫的具體操作過程,在此就不具體一一列出了。在此次的圖書管理系統(tǒng)中,需要建立三個表,分別是圖書信息表、讀者信息表和管理員信息表。其中管理員信息表中只列了賬號和密碼兩個字段,而圖書信息和讀者信息表中,分別列出了關(guān)于圖書和讀者的詳細(xì)信息。圖2-9 access數(shù)據(jù)庫2.11本章小節(jié)本章為最主要的一章,介紹了此次課程設(shè)計實現(xiàn)的詳細(xì)步驟,通過對圖書管理系統(tǒng)的分析以及設(shè)計前的模塊設(shè)計,從而更具體的逐步完善各個模塊,基本完成了圖書管理系統(tǒng)的管理員管理圖書和讀者信息部分。第3章 設(shè)計中遇到的重點(diǎn)
21、及難點(diǎn)3.1重點(diǎn)及難點(diǎn)本次課程設(shè)計中遇到的重點(diǎn)是各個窗體中的控件的定義以及控件位置、大小、顏色等屬性的設(shè)置,在定義和修改控件屬性以及美化窗體方面花的時間比較多,在每添加一個控件,如標(biāo)簽,都得在程序開始定義控件,以及在后面的設(shè)置屬性和將控件添加和顯示到窗體上。例如定義一個按鈕,那此按鈕在整個程序中必須有以下幾步:按鈕控件的定義private jbutton addinfo = new jbutton();按鈕控件的屬性設(shè)置addinfo.settext(添加圖書信息); addinfo.setvisible(true);設(shè)置為可見狀態(tài)addinfo.setbounds(new rectangle
22、(250, 526, 127, 33);設(shè)置控件位置addinfo.setforeground(color.white);設(shè)置字體顏色addinfo.setbackground(color.black);設(shè)置背景顏色為按鈕控件添加事件監(jiān)聽addinfo.addactionlistener(new mainjframe_actionperformed(this);將按鈕控件添加到主窗體上contentpane.add(addinfo); 本次課程設(shè)計中遇到的難點(diǎn)是為每個按鈕控件添加時間監(jiān)聽和異常處理部分,在此就不詳細(xì)舉例了。3.2本章小節(jié)本章總結(jié)了在此次課程設(shè)計中的重點(diǎn)和遇到的難點(diǎn),總的來說基本上都解決了。第4章 本次設(shè)計中存在不足與改良方案4.1不足與改良方案由于時間關(guān)系,本次所設(shè)計的圖書管理系統(tǒng)只實現(xiàn)了管理員管理圖書、讀者信息的功能,而未能實現(xiàn)借閱者的借閱和圖書查找等功能。改良方案:在讀者信息和圖書信息之間建立起連接,在讀者信息中加入讀者借過的圖書,以及借閱的時間和歸還期限。相應(yīng)的在圖書管理模塊中也可以添加入借閱此書的讀者的信息。還有
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學(xué)生學(xué)生實習(xí)報告范文九篇
- 公司個人實習(xí)自我鑒定2022年7篇
- 去工廠實習(xí)報告模板錦集5篇
- 2024年砂石料購銷協(xié)議全新模板下載版B版
- 在外貿(mào)公司實習(xí)報告合集七篇
- 做老師的實習(xí)報告范文合集10篇
- 物流公司實習(xí)總結(jié)(精彩7篇)
- 2025合同樣例鄉(xiāng)鎮(zhèn)房屋買賣合同范本
- 2024年窗簾洗滌與保養(yǎng)服務(wù)合作協(xié)議3篇
- 2024年中國高速槽式熨平機(jī)市場調(diào)查研究報告
- 快速誘導(dǎo)插管指南課件
- 托盤演示教學(xué)課件
- 中華農(nóng)耕文化及現(xiàn)實意義
- DB32T 4353-2022 房屋建筑和市政基礎(chǔ)設(shè)施工程檔案資料管理規(guī)程
- 農(nóng)產(chǎn)品品牌與營銷課件
- 加快中高職銜接,促進(jìn)職業(yè)教育協(xié)調(diào)發(fā)展(201507)課件
- 車輛二級維護(hù)檢測單參考模板范本
- 亮化照明維護(hù)服務(wù)方案
- 疼痛評估方法與管理
- 測定總固體原始記錄
- (最新整理)夜市一條街建設(shè)方案
評論
0/150
提交評論