JAVA圖書管理系統(tǒng)開發(fā)實(shí)訓(xùn)報(bào)告_第1頁
JAVA圖書管理系統(tǒng)開發(fā)實(shí)訓(xùn)報(bào)告_第2頁
JAVA圖書管理系統(tǒng)開發(fā)實(shí)訓(xùn)報(bào)告_第3頁
JAVA圖書管理系統(tǒng)開發(fā)實(shí)訓(xùn)報(bào)告_第4頁
JAVA圖書管理系統(tǒng)開發(fā)實(shí)訓(xùn)報(bào)告_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、java圖書管理系統(tǒng)開發(fā)實(shí)訓(xùn)報(bào)告 課程名稱: java 圖書管理系統(tǒng)開發(fā) 專 業(yè): 計(jì)算機(jī)應(yīng)用技術(shù) 班 級(jí):zb10001 學(xué) 號(hào):2010720929 姓 名: 成 績: 計(jì)算機(jī)學(xué)院二一二年三月五日目 錄一、程序設(shè)計(jì)目的- 2 -二、程序設(shè)計(jì)題目描述和要求- 2 -三、程序設(shè)計(jì)報(bào)告內(nèi)容- 2 -3.1 系統(tǒng)需求分析- 2 -3.1.1 功能需求描述- 2 -3.1.2 對(duì)應(yīng)數(shù)據(jù)需求描述- 5 -3.1.3 數(shù)據(jù)庫概念模型設(shè)計(jì)- 7 -3.1.4數(shù)據(jù)庫邏輯模型設(shè)計(jì)模型設(shè)計(jì)- 10 -3.1.5表的設(shè)計(jì)與實(shí)現(xiàn)- 11 -3.2系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)- 13 -3.2.1 登陸界面設(shè)計(jì)- 13 -3.

2、2.2 主界面- 15 -3.2.3 用戶注冊(cè)界面設(shè)計(jì)- 17 -3.2.4 圖書登記界面設(shè)計(jì)- 18 -3.2.5 圖書入庫面設(shè)計(jì)- 20 -3.2.6 圖書出庫界面設(shè)計(jì)- 21 -3.2.7 軟件關(guān)于界面設(shè)計(jì)- 23 -3.2.8 用戶注銷界面設(shè)計(jì)- 23 -3.2.9 用戶權(quán)限界面設(shè)計(jì)- 24 -3.2.10 圖書借還界面設(shè)計(jì)- 26 -3.2.11 圖書超期界面設(shè)計(jì)- 29 -3.2.12 用戶修改界面設(shè)計(jì)- 31 -四、實(shí)訓(xùn)結(jié)論- 33 -五、結(jié)束語- 33 -六、參考文獻(xiàn)- 33 -一、程序設(shè)計(jì)目的通過項(xiàng)目驅(qū)動(dòng)的學(xué)習(xí)和綜合實(shí)訓(xùn),熟練掌握運(yùn)用java語言進(jìn)行桌面應(yīng)用程序開發(fā)的基本知識(shí)

3、和技能;熟練掌握java的基本語法與jdbc數(shù)據(jù)庫技術(shù)的應(yīng)用;進(jìn)一步熟悉sql server數(shù)據(jù)庫的數(shù)據(jù)庫管理(數(shù)據(jù)庫的創(chuàng)建、備份與恢復(fù)、函數(shù)與存儲(chǔ)過程的應(yīng)用、數(shù)據(jù)導(dǎo)入導(dǎo)出、作業(yè)的調(diào)度等)、表的設(shè)計(jì)(表的創(chuàng)建、修改、刪除,字段的默認(rèn)值、約束及關(guān)系等)、數(shù)據(jù)的查詢處理(insert、update、delete、select語句的應(yīng)用)等技術(shù);并能結(jié)合數(shù)據(jù)庫應(yīng)用技術(shù)和軟件工程技術(shù)進(jìn)行桌面應(yīng)用程序的開發(fā),能基本勝任java桌面開發(fā)程序員的崗位。二、程序設(shè)計(jì)題目描述和要求圖書管理系統(tǒng),是一個(gè)由人、計(jì)算機(jī)等組成的能進(jìn)行管理信息的收集、傳遞、加工、保存、維護(hù)和使用的系統(tǒng)。其功能一般包括:圖書信息管理、用戶

4、信息管理、圖書借閱、圖書歸還、違約與毀壞賠償、圖書借還查詢等等。三、程序設(shè)計(jì)報(bào)告內(nèi)容3.1 系統(tǒng)需求分析以我校實(shí)際情況為基礎(chǔ),對(duì)于圖書館圖書管理設(shè)計(jì)一個(gè)適合于學(xué)校圖書館使用的圖書管理系統(tǒng)。還可以為學(xué)校領(lǐng)導(dǎo)提供圖書的庫存和圖書流通量的查詢。該系統(tǒng)需要完成對(duì)圖書類別管理、統(tǒng)計(jì)管理、庫存管理、用戶信息管理、圖書借閱管理、圖書歸還管理、超期與損毀賠償管理、圖書借還查詢管理、圖書出入庫和統(tǒng)計(jì)查詢等。3.1.1 功能需求描述(1)、圖書管理:對(duì)圖書進(jìn)行分類存儲(chǔ)(計(jì)算機(jī)、機(jī)械、建筑、文學(xué)、心理、藝術(shù)、經(jīng)濟(jì)、歷史、地理、其它)。在入庫和出庫的時(shí)候按圖書類別進(jìn)行管理。可對(duì)現(xiàn)有圖書信息信息進(jìn)行管理(查詢、修改)。

5、(2)、庫存信息管理:對(duì)于圖書出庫圖書登記和入庫圖書登記。(3)、用戶信息管理:可以實(shí)現(xiàn)對(duì)不同用戶進(jìn)行添加、查詢、刪除和修改,并給與不同用戶不同權(quán)限。(4)、圖書借閱管理:對(duì)于圖書借閱信息的登記(書名、圖書編號(hào)、館藏、借書日期、借期、應(yīng)還日期)、對(duì)現(xiàn)有圖書庫存減少、對(duì)圖書借閱人信息進(jìn)行登記(姓名/學(xué)號(hào)、本次借閱冊(cè)數(shù)、圖書編號(hào))。(5)、圖書歸還管理:對(duì)圖書信息進(jìn)行登記(圖書編號(hào)、借書日期、借期、應(yīng)還日期、超期、續(xù)期)對(duì)圖書借閱人信息進(jìn)行登記(姓名/學(xué)號(hào)、現(xiàn)借冊(cè)數(shù)、現(xiàn)借藏書信息)。 (6)、圖書超期與損毀賠償管理:對(duì)于超期、損毀圖書進(jìn)行賠償收費(fèi)并登記賠償人和管理員信息以及費(fèi)用金額。圖書管理系統(tǒng)圖

6、書管理用戶管理現(xiàn)有庫存管理出庫管理入庫管理圖書借閱管理圖書歸還管理添加用戶管理刪除用戶管理修改用戶管理權(quán)限管理圖書賠償管理系統(tǒng)設(shè)計(jì)圖1、 圖書類別管理:對(duì)圖書進(jìn)行分類存儲(chǔ)。在入庫和出庫的時(shí)候按圖書類別進(jìn)行管理。(1)分類:按圖書的性質(zhì)進(jìn)行分類,并在圖書編號(hào)中對(duì)不同類別的書籍使用不同的類別標(biāo)示符(計(jì)算機(jī)(js)、機(jī)械(jq)、建筑(jz)、文學(xué)(wx)、心理(xl)、藝術(shù)(ys)、經(jīng)濟(jì)(jj)、歷史(ls)、地理(dl)。(2)圖書信息管理:對(duì)現(xiàn)有圖書信息進(jìn)行查看并可以修改。2、 庫存信息管理:對(duì)于圖書出庫圖書登記和入庫圖書登記及現(xiàn)有庫存圖書進(jìn)行管理。(1) 入庫管理:記錄入庫圖書總量,分類別進(jìn)

7、行統(tǒng)計(jì)并記錄。記錄登記人員姓名。(將這些信息記錄進(jìn)數(shù)據(jù)庫中,在相應(yīng)查詢權(quán)限下可以查詢。但是記錄后不可修改。)(2) 出庫管理:記錄出庫圖書總量,分類別進(jìn)行統(tǒng)計(jì)記錄,記錄登記人員姓名。將這些信息記錄進(jìn)數(shù)據(jù)庫中,在相應(yīng)查詢權(quán)限下可以查詢。但是記錄后不可修改。)(3) 現(xiàn)有庫存管理:對(duì)現(xiàn)有庫存進(jìn)行管理,在入庫時(shí)對(duì)庫存進(jìn)行增加并對(duì)每一本圖書進(jìn)行分類編號(hào)登記,在出庫時(shí)對(duì)庫存減少并刪除相應(yīng)的圖書信息。3、 用戶信息管理:可以實(shí)現(xiàn)對(duì)不同用戶進(jìn)行添加、查詢、刪除和修改,并給與不同用戶不同權(quán)限。(1) 用戶信息添加:對(duì)用戶的相應(yīng)信息進(jìn)行添加(用戶名,密碼,出生日期,性別,管理操作權(quán)限,借閱權(quán)限)。(2) 用戶信

8、息查詢:對(duì)用戶的信息進(jìn)行查詢。(3) 用戶信息刪除:對(duì)用戶信息進(jìn)行刪除。(4) 用戶信息修改:用戶可以對(duì)自己的用戶密碼和出生日期進(jìn)行修改,管理員只可以修改用戶的權(quán)限4、 圖書借閱管理:對(duì)于圖書借閱信息的登記(書名、圖書編號(hào)、館藏、借書日期、借期、應(yīng)還日期)同時(shí)系統(tǒng)自動(dòng)對(duì)借閱圖書量增加、對(duì)現(xiàn)有圖書庫存減少、對(duì)圖書借閱人信息進(jìn)行登記(姓名/學(xué)號(hào)、本次借閱冊(cè)數(shù)、現(xiàn)借冊(cè)數(shù)、可借冊(cè)數(shù)、現(xiàn)借藏書信息)。(1) 借閱信息登記:對(duì)用戶的信息進(jìn)行登記(姓名、本次借閱冊(cè)數(shù)、現(xiàn)借冊(cè)數(shù)、可借冊(cè)數(shù)、現(xiàn)借藏書信息),并根據(jù)借書權(quán)限借閱相應(yīng)的書籍?dāng)?shù)量。(將信息記錄入數(shù)據(jù)庫中相應(yīng)權(quán)限可以進(jìn)行查詢。)(2) 對(duì)借閱圖書進(jìn)行登記

9、:對(duì)借出圖書的書名、圖書編號(hào)、館藏、借書日期、借期、應(yīng)還日期進(jìn)行登記并關(guān)聯(lián)相應(yīng)的借書用戶系統(tǒng)自動(dòng)的在書籍借閱標(biāo)示欄加一表示借出。(圖書在圖書館內(nèi)借閱欄標(biāo)示0,借出后自動(dòng)加1,歸還自動(dòng)減1,損毀在借閱的基礎(chǔ)上加1。將信息記錄入數(shù)據(jù)庫中相應(yīng)權(quán)限可以進(jìn)行查詢。)(0表示在書庫中,1表示借出,2表示損毀)。5、 圖書歸還管理:對(duì)圖書信息進(jìn)行登記(書名、圖書編號(hào)、館藏、借書日期、借期、應(yīng)還日期、超期、續(xù)期)對(duì)圖書借閱人信息進(jìn)行登記(姓名/學(xué)號(hào)、現(xiàn)借冊(cè)數(shù)、可借冊(cè)數(shù)、現(xiàn)借藏書信息)。(1) 用戶信息顯示:顯示用戶信息(姓名/學(xué)號(hào)、現(xiàn)借冊(cè)數(shù)、可借冊(cè)數(shù)、現(xiàn)借藏書信息),對(duì)圖書信息管登記(書名、圖書編號(hào)、館藏、借

10、書日期、借期、應(yīng)還日期、超期、續(xù)期)并根據(jù)是否超期損毀進(jìn)行相應(yīng)操作。(2) 用戶信息刪除:對(duì)相應(yīng)的借書用戶關(guān)聯(lián)圖書信息刪除。系統(tǒng)自動(dòng)在圖書標(biāo)示欄內(nèi)減1。系統(tǒng)自動(dòng)將用戶現(xiàn)借數(shù)量減1,可借數(shù)量加1。6、 圖書超期和損毀賠償管理:對(duì)于超期、損毀圖書進(jìn)行賠償收費(fèi)并登記賠償人和管理員信息以及費(fèi)用金額。(1) 超期賠償管理:登記用戶信息(姓名/學(xué)號(hào))查看超期時(shí)間并對(duì)其進(jìn)行賠償收費(fèi)(記錄收費(fèi)人信息,賠償人信息,收費(fèi)金額,收費(fèi)日期并存入數(shù)據(jù)庫中)。(2) 損毀賠償管理:登記用戶信息(姓名/學(xué)號(hào))并對(duì)其進(jìn)行賠償收費(fèi)(記錄收費(fèi)人信息,賠償人信息,收費(fèi)金額,收費(fèi)日期并存入數(shù)據(jù)庫中)。在圖書信息中的借閱標(biāo)示欄內(nèi)系統(tǒng)自

11、動(dòng)在借閱的基礎(chǔ)上加1表示損毀。3.1.2 對(duì)應(yīng)數(shù)據(jù)需求描述1 、 圖書類別管理數(shù)據(jù)需求:圖書分類管理數(shù)據(jù)需求:(按:計(jì)算機(jī)、機(jī)械、建筑、文學(xué)、心理、藝術(shù)、經(jīng)濟(jì)、歷史、地理九類進(jìn)行分類)。并對(duì)分類圖書進(jìn)行標(biāo)識(shí)(計(jì)算機(jī)(js)、機(jī)械(jq)、建筑(jz)、文學(xué)(wx)、心理(xl)、藝術(shù)(ys)、經(jīng)濟(jì)(jj)、歷史(ls)、地理(dl)。并在標(biāo)識(shí)符后面加四位編號(hào)(例子:js0001)。數(shù)據(jù)項(xiàng)數(shù)據(jù)需求圖書類別名稱按圖書類別進(jìn)行分類(初始分為九種),計(jì)算機(jī)、機(jī)械、建筑、文學(xué)、心理、藝術(shù)、經(jīng)濟(jì)、歷史、地理。在系統(tǒng)完成后可進(jìn)行類別的添加和刪除修改。(10漢字內(nèi))類別說明對(duì)相應(yīng)類別進(jìn)行詳細(xì)描述。2 、庫存信

12、息管理數(shù)據(jù)需求:(1) 入庫管理數(shù)據(jù)需求:數(shù)據(jù)項(xiàng)數(shù)據(jù)需求入庫編號(hào)用于在數(shù)據(jù)庫中唯一標(biāo)識(shí)入庫信息。自動(dòng)增加入庫isbn編號(hào)用于唯一標(biāo)識(shí)圖書的圖書isbn編碼 。入庫圖書數(shù)量圖書的數(shù)量。入庫時(shí)間記錄圖書入庫時(shí)間。入庫操作員編號(hào)記錄登記圖書入庫操作員的編號(hào)。(2) 出庫管理數(shù)據(jù)需求:出庫編號(hào)用于在數(shù)據(jù)庫中唯一標(biāo)識(shí)出庫信息。自動(dòng)增加出庫isbn編號(hào)用于唯一標(biāo)識(shí)圖書的圖書isbn編碼 。出庫圖書數(shù)量圖書數(shù)量出庫時(shí)間記錄圖書出庫時(shí)間。出庫操作員編號(hào)登記圖書出庫操作員的編號(hào)。3、 用戶信息管理數(shù)據(jù)需求:(1)用戶信息添加數(shù)據(jù)需求:數(shù)據(jù)項(xiàng)數(shù)據(jù)需求用戶編號(hào)用于唯一標(biāo)識(shí)學(xué)生,要求:共8位,前2為年份,中間2位特殊

13、類別標(biāo)號(hào)(默認(rèn)00),后面4位為報(bào)名序號(hào)。姓名15個(gè)漢字以內(nèi),可能帶有特殊符號(hào)(可修改)。性別只能是“男”或“女”。密碼任意612位字符。電話十一為數(shù)字(座機(jī)前面加區(qū)號(hào))。班級(jí)存儲(chǔ)學(xué)院班級(jí)詳細(xì)信息注冊(cè)時(shí)間如:2012-12-10用戶權(quán)限號(hào)只能有以下四種(領(lǐng)導(dǎo),管理員,教師,學(xué)生),狀態(tài)包括:正常、暫停使用和已注銷(2)用戶權(quán)限管理:數(shù)據(jù)項(xiàng)數(shù)據(jù)需求權(quán)限編號(hào)編號(hào)用于標(biāo)示權(quán)限類別的編號(hào)權(quán)限名稱權(quán)限的名稱。(領(lǐng)導(dǎo)、教師、管理員、學(xué)生)可借閱書籍根據(jù)權(quán)限借閱不同數(shù)量的書籍。(3)用戶信息修改數(shù)據(jù)需求:修改用戶的信息。數(shù)據(jù)項(xiàng)數(shù)據(jù)需求用戶編號(hào)用于唯一標(biāo)識(shí)學(xué)生,要求:共8位,前2為年份,中間2位特殊類別標(biāo)號(hào)(

14、默認(rèn)00),后面4位為報(bào)名序號(hào)。姓名15個(gè)漢字以內(nèi),可能帶有特殊符號(hào)(可修改)。性別只能是“男”或“女”。密碼任意612位字符。電話十一為數(shù)字(座機(jī)前面加區(qū)號(hào))。班級(jí)存儲(chǔ)學(xué)院班級(jí)詳細(xì)信息注冊(cè)時(shí)間如:2012-12-10用戶權(quán)限號(hào)權(quán)限的標(biāo)識(shí)號(hào)碼。只能有以下四種(領(lǐng)導(dǎo),管理員,教師,學(xué)生),狀態(tài)包括:正常、暫停使用和已注銷(5)用戶信息刪除數(shù)據(jù)需求:刪除用戶的注冊(cè)信息。4 、圖書借閱,歸還管理數(shù)據(jù)需求:在借閱圖書時(shí)的數(shù)據(jù)需求。數(shù)據(jù)項(xiàng)數(shù)據(jù)需求借還編號(hào)唯一標(biāo)識(shí)借閱信息的編號(hào)。在數(shù)據(jù)庫中區(qū)別信息。用戶編號(hào)管理員人工將用戶編號(hào)輸入登記框。isbn管理員人工將圖書編號(hào)輸入登記框。借閱時(shí)間系統(tǒng)自動(dòng)在電腦上獲取

15、時(shí)間。借閱數(shù)量登記借閱書籍的數(shù)量。歸還時(shí)間在歸還時(shí)自動(dòng)獲取時(shí)間。5、圖書超期和損毀賠償管理數(shù)據(jù)需求:數(shù)據(jù)項(xiàng)數(shù)據(jù)需求賠償編號(hào)唯一標(biāo)識(shí)借閱信息編號(hào)。自動(dòng)增加。用戶編號(hào)管理員人工將用戶編號(hào)輸入文本框。isbn編號(hào)管理員人工將圖書編號(hào)輸入文本框。情況描述對(duì)于賠償情況的詳細(xì)描述處理結(jié)果管理員登記賠償金額收費(fèi)時(shí)間系統(tǒng)自動(dòng)獲取系統(tǒng)時(shí)間。操作員編號(hào)輸入操作員編號(hào)。3.1.3 數(shù)據(jù)庫概念模型設(shè)計(jì)用戶電話班級(jí)注冊(cè)時(shí)間密碼姓名用戶編號(hào)性別權(quán)限號(hào)狀態(tài)圖1 用戶實(shí)體圖權(quán)限權(quán)限名權(quán)限編號(hào)可借閱書籍?dāng)?shù)量圖2 權(quán)限實(shí)體圖圖書圖書名作者出版社書價(jià)庫存量isbn編號(hào)類別名出版時(shí)間現(xiàn)存量圖3 圖書實(shí)體圖類別類別說明圖書類別名圖4

16、類別實(shí)體圖借還用戶編號(hào)isbn編號(hào)借閱數(shù)量借閱時(shí)間歸還時(shí)間借還編號(hào)圖5 借還實(shí)體圖賠償用戶編號(hào)isbn編號(hào)情況描述處理時(shí)間處理結(jié)果操作員編號(hào)賠償編號(hào)圖6 賠償實(shí)體圖入庫入庫時(shí)間入庫數(shù)量入庫操作員編號(hào)入庫isbn編號(hào)入庫編號(hào)圖7 入庫實(shí)體圖出庫出庫時(shí)間出庫數(shù)量出庫操作員編號(hào)出庫isbn編號(hào)出庫編號(hào)圖8 出庫實(shí)體圖功能功能編號(hào)功能模塊圖9 功能實(shí)體圖模塊功能編號(hào)權(quán)限編號(hào)圖10 模塊實(shí)體圖讀者圖書類別借還違約所屬管理員圖書管理用戶管理nmnnmmm1nn圖11 各實(shí)體關(guān)系圖3.1.4數(shù)據(jù)庫邏輯模型設(shè)計(jì)模型設(shè)計(jì)根據(jù)e-r圖,將其轉(zhuǎn)換為關(guān)系模式可得到以下8個(gè)關(guān)系模式:用戶(用戶編號(hào)、姓名、性別、密碼、電

17、話、班級(jí)、注冊(cè)時(shí)間、權(quán)限編號(hào)、狀態(tài))權(quán)限(權(quán)限編號(hào)、權(quán)限名稱、可借閱書籍)模塊(權(quán)限編號(hào)、功能名稱)圖書(isbn編號(hào)、圖書名、作者、出版社、出版時(shí)間、書價(jià)、圖書書類別名、庫存量、現(xiàn)存量)類別(圖書類別名、說明)借還(借閱編號(hào)、用戶編號(hào)、isbn、借閱時(shí)間、借閱數(shù)量、歸還時(shí)間)賠償(賠償編號(hào)、用戶編號(hào)、isbn編號(hào)、原因、處理結(jié)果、處理時(shí)間、操作員編號(hào))出庫(出庫編號(hào)、isbn編號(hào)、出庫圖書數(shù)量、出庫時(shí)間、出庫操作員編號(hào))入庫(入庫編號(hào)、isbn編號(hào)、入庫圖書數(shù)量、入庫時(shí)間、入庫操作員編號(hào))3.1.5表的設(shè)計(jì)與實(shí)現(xiàn)表一:用戶信息表(users)=(ok)字段名稱類型是否為空默認(rèn)值是否主鍵用戶編

18、號(hào)(user_id)intnot null自動(dòng)增加主鍵用戶名(user_name)varchar(10)not null性別(user_sex)char(2)not null男密碼(user_pwd)char(12)not null123456電話(user_tel)varchar (30)班級(jí)(user_class)varchar (50)注冊(cè)時(shí)間(user_time)datetimenot null自動(dòng)獲取權(quán)限編號(hào)(limit_id)varchar(10)not null學(xué)生外鍵狀態(tài)(user_state)char(4)not null使用表二:用戶權(quán)限表(limit)=(ok)字段名稱類

19、型是否為空默認(rèn)值是否主鍵權(quán)限編號(hào)(limit_id)varchar(10)not null自動(dòng)增加主鍵(s001)權(quán)限類名(limit_name)varchar(15)not null借閱書籍?dāng)?shù)量(limit_qty)int not null3表三:圖書信息表(books)字段名稱類型是否為空默認(rèn)值是否主鍵isbn編號(hào)(book_id)varchar(17)not null主鍵圖書名(book_name)varchar(30)not null作者(book_author)varchar (10)not null出版社(book_society)varchar(50)not null出版時(shí)間(b

20、ook_time)datatimenot null書價(jià)(book_price)intnot null圖書類別名(book_sort)varchar(10)not null計(jì)算機(jī)外鍵庫存量(book_qty)int現(xiàn)存量(book_qtyx)int表四:功能模塊表(module)=(ok)字段名稱類型是否為空默認(rèn)值是否主鍵權(quán)限編號(hào)(lilmit_id)varchar(10)not null外鍵模塊名稱(module_name)varchar(30)not null表五:超期損毀表(compensate)字段名稱類型是否為空默認(rèn)值是否主鍵賠償編號(hào)(cpt_id)intnot null主鍵用戶編號(hào)(

21、user_id)intnot null外鍵isbn編號(hào)(book_id)varchar(17)not null外鍵原因(cpt_cause)varchar (50)not null收費(fèi)(cpt_result)char(10)not null收費(fèi)時(shí)間(cpt_time)datatimenot null自動(dòng)獲取操作員編號(hào)(user_id)intnot null外鍵表七:圖書類別表:(sort)=字段名稱類型是否為空默認(rèn)值是否主鍵圖書類別名(book_sort)varchar(10)not null計(jì)算機(jī)主鍵說明explaintext表六:借閱歸還表(borrow)字段名稱類型是否為空默認(rèn)值是否主鍵

22、借閱編號(hào)(borrow_id)intnot null主鍵用戶編號(hào)(user_id)intnot null外鍵isbn編號(hào)(book_id)varchar(17)not null外鍵借閱時(shí)間(borrow_time)datetimenot null自動(dòng)獲取借閱數(shù)量(borrow_qty)int歸還時(shí)間(return_time)datatime自動(dòng)獲取表八:入庫表:(enter)字段名稱類型是否為空默認(rèn)值是否主鍵入庫編號(hào)(enter_id)intnot null自動(dòng)增加主鍵isbn編號(hào)(book_id)varchar(17)not null外鍵入庫圖書數(shù)量(enter_qty)intnot nul

23、l入庫時(shí)間(enter_time)datatimenot null自動(dòng)獲取入庫操作員編號(hào)(user_id)intnot null外鍵表九:出庫表(out)字段名稱類型是否為空默認(rèn)值是否主鍵出庫編號(hào)(out_id)varchar(10)not null自動(dòng)增加主鍵isbn編號(hào)(book_id)varchar(12)not null外鍵出庫圖書數(shù)量(out_qty)intnot null出庫時(shí)間(out_time)datatimenot null自動(dòng)獲取出庫操作員編號(hào)(user_id)varchar(10)not null外鍵管理系統(tǒng)窗口圖3.2系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)3.2.1 登陸界面設(shè)計(jì)publi

24、c void actionperformed(actionevent e) /監(jiān)視器if(e.getsource()=ok)/點(diǎn)擊確定時(shí)執(zhí)行的語句if(yh.gettext().equals()/判斷用戶號(hào)是否輸入joptionpane.showmessagedialog(ok,請(qǐng)輸入賬號(hào) ,提示,joptionpane.information_message);else if(mm.gettext().equals()/判斷密碼是否為空joptionpane.showmessagedialog(ok,請(qǐng)輸入 密碼!,提示,joptionpane.information_message);tr

25、y class.forname(com.microsoft.jdbc.sqlserver.sqlserverdriver); catch (classnotfoundexception e1) joptionpane.showmessagedialog(null,數(shù)據(jù)庫驅(qū)動(dòng)程序不存在,提示,joptionpane.error_message);try connection con=drivermanager.getconnection(jdbc:microsoft:sqlserver:/localhost:1433;databasename=圖書管理系統(tǒng),sa,123);preparedsta

26、tement pstmt=con.preparestatement(select * from users where user_id=? and user_pwd=? and user_state=使用);pstmt.setint(1,integer.parseint(yh.gettext();pstmt.setstring(2,mm.gettext();resultset rst=pstmt.executequery();if(rst.next()new mainframe(圖書管理系統(tǒng),integer.parseint(yh.gettext();this.dispose();elsejo

27、ptionpane.showmessagedialog(null,用戶名不存在或者密碼不正確,請(qǐng)重新輸入!,提示,joptionpane.error_message); catch (sqlexception e1) joptionpane.showmessagedialog(null,sql語句執(zhí)行錯(cuò)誤!,提示,joptionpane.error_message);if(e.getsource()=cancel)/點(diǎn)擊取消實(shí)現(xiàn)的this.dispose();if(bc.isselected()=true)/選擇記住密碼savafile();if(bc.isselected()=false)/

28、未選擇記住密碼savafile1();if(e.getsource()=login)/點(diǎn)擊注冊(cè)按鈕new loginframe(注冊(cè));public void savafile()/實(shí)現(xiàn)對(duì)文本框文字的保存file f=new file(.datadk.txt);try filewriter txt=new filewriter(f);txt.write(yh.gettext()+-);txt.write(mm.gettext()+);txt.close(); catch (ioexception e) / todo 自動(dòng)生成 catch 塊e.printstacktrace();public

29、void savafile1()/實(shí)現(xiàn)對(duì)空白文本的保存file f=new file(.datadk.txt);try filewriter txt=new filewriter(f);txt.write(yh.gettext()+-);txt.write(+);txt.close(); catch (ioexception e) / todo 自動(dòng)生成 catch 塊e.printstacktrace();public void duqu() /實(shí)現(xiàn)對(duì)文字的讀取filereader fr;try fr = new filereader(.datadk.txt);bufferedreader

30、br = new bufferedreader(fr); try string line = br.readline();yh.settext(line.tostring().substring(0,line.tostring().indexof(-);mm.settext(line.tostring().substring(line.tostring().indexof(-)+1,line.tostring().indexof(+); catch (ioexception e) e.printstacktrace(); catch (filenotfoundexception e1) e1.

31、printstacktrace(); 3.2.2 主界面void setallframeicon()/在運(yùn)行新窗體之前,將所有的窗體最小化jinternalframe jf;jf=desk1.getallframes();for(int i=0;ijf.length;i+)try if(!jfi.isicon() jfi.seticon(true); catch (propertyvetoexception e) e.printstacktrace();desk1.validate();boolean getdakai(string s)/判斷標(biāo)題為s的窗體是否打開jinternalframe

32、 jf;jf=desk1.getallframes();for(int i=0;ijf.length;i+)if(s.equals(jfi.gettitle()return false;return true;void openframe(string s)/搜索標(biāo)題為s的窗體,并將其顯式出來jinternalframe jf;jf=desk1.getallframes();for(int i=0;i0)/判斷成功并提示! joptionpane.showmessagedialog(null,注冊(cè)用戶成功!,添加用戶提示,joptionpane.information_message); th

33、is.dispose(); else/失敗 joptionpane.showmessagedialog(null,注冊(cè)用戶失??!,添加用戶提示,joptionpane.error_message); pstmt.close();/7、關(guān)閉預(yù)處理對(duì)象pstmt con.close();/8、關(guān)閉數(shù)據(jù)庫連接對(duì)象con catch (sqlexception e1) joptionpane.showmessagedialog(null,sql語句執(zhí)行錯(cuò)誤!,提示,joptionpane.error_message);if(e.getsource()=cancel)this.dispose();3.2

34、.4 圖書登記界面設(shè)計(jì)/為下拉菜單添加數(shù)據(jù)庫中數(shù)據(jù)try class.forname(com.microsoft.jdbc.sqlserver.sqlserverdriver); catch (classnotfoundexception e1) joptionpane.showmessagedialog(null,數(shù)據(jù)庫驅(qū)動(dòng)程序不存在,提示,joptionpane.error_message);try connection con=drivermanager.getconnection(jdbc:microsoft:sqlserver:/localhost:1433;databasename

35、=圖書管理系統(tǒng),sa,123);preparedstatement pstmt=con.preparestatement(select book_sort from sort);resultset rst=pstmt.executequery();while(rst.next()sortext.additem(rst.getstring(1);rst.close();pstmt.close();con.close(); catch (sqlexception e1) joptionpane.showmessagedialog(null,sql語句執(zhí)行錯(cuò)誤!,提示,joptionpane.err

36、or_message);/監(jiān)視器方法public void actionperformed(actionevent e) if(e.getsource()=ok)/點(diǎn)擊登記實(shí)現(xiàn)的事件try connection con=drivermanager.getconnection(jdbc:microsoft:sqlserver:/:1433;databasename=圖書管理系統(tǒng),sa,123);/2、創(chuàng)建數(shù)據(jù)庫連接對(duì)象con/下面在添加分組 preparedstatement pstmt=con.preparestatement(insert into books(books_

37、id,books_name,books_author,books_society,books_time,books_price,books_sort)values(?,?,?,?,?,?,?);/3、創(chuàng)建preparedstatement預(yù)處理執(zhí)行對(duì)象pstmt /4、為每個(gè)參數(shù)設(shè)置值 pstmt.setstring(1,idtext.gettext(); pstmt.setstring(2,nametext.gettext(); pstmt.setstring(3,auttext.gettext(); pstmt.setstring(4,soctext.gettext(); pstmt.se

38、tstring(5,timetext.gettext(); pstmt.setint(6,integer.parseint(pritext.gettext(); pstmt.setstring(7,sortext.getselecteditem().tostring(); int n=pstmt.executeupdate(); if(n0)/成功! joptionpane.showmessagedialog(null,添加圖書成功!,添加圖書提示,joptionpane.information_message); this.dispose(); else/失敗 joptionpane.sho

39、wmessagedialog(null,添加圖書失敗!,添加圖書提示,joptionpane.information_message); pstmt.close();/7、關(guān)閉預(yù)處理對(duì)象pstmt con.close();/8、關(guān)閉數(shù)據(jù)庫連接對(duì)象con catch (sqlexception e1) joptionpane.showmessagedialog(null,sql執(zhí)行錯(cuò)誤!); if(e.getsource()=cancel)this.dispose();3.2.5 圖書入庫面設(shè)計(jì)/監(jiān)視器中實(shí)現(xiàn)的事件public void actionperformed(actionevent e

40、) if(e.getsource()=ok)/點(diǎn)擊確定要執(zhí)行的事件try class.forname(com.microsoft.jdbc.sqlserver.sqlserverdriver);/1、加載數(shù)據(jù)庫驅(qū)動(dòng)程序 catch (classnotfoundexception e1) joptionpane.showmessagedialog(null,加載驅(qū)動(dòng)程序失??!);try connection con=drivermanager.getconnection(jdbc:microsoft:sqlserver:/:1433;databasename=圖書管理系統(tǒng),sa

41、,123);/2、創(chuàng)建數(shù)據(jù)庫連接對(duì)象con /下面首先判斷要添加的分組是否存在,如果不存在才添加分組preparedstatement pstmt1=con.preparestatement(select * from books where books_id=?);pstmt1.setstring(1,bookidtext.gettext();resultset rst=pstmt1.executequery();if(!rst.next()/不存在則添加new djframe();else preparedstatement pstmt=con.preparestatement(inser

42、t into enter(books_id,enter_qty,user_id)values(?,?,?);/3、創(chuàng)建preparedstatement預(yù)處理執(zhí)行對(duì)象pstmt pstmt.setstring(1,bookidtext.gettext(); pstmt.setint(2,integer.parseint(qtytext.gettext(); pstmt.setint(3,userid); preparedstatement pstmt2=con.preparestatement(update books set books_qty=books_qty+?,books_qtyx=

43、books_qtyx+? where books_id=?); pstmt2.setint(1,integer.parseint(qtytext.gettext(); pstmt2.setint(2,integer.parseint(qtytext.gettext(); pstmt2.setstring(3,bookidtext.gettext(); int n=pstmt2.executeupdate(); int n1=pstmt.executeupdate(); if(n0)&(n10)/成功! joptionpane.showmessagedialog(null,圖書入庫成功!,入庫提示,joptionpane.information_message); this.dispose();

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論