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

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上JAVA圖書(shū)管理系統(tǒng)開(kāi)發(fā)實(shí)訓(xùn)報(bào)告 課程名稱: JAVA 圖書(shū)管理系統(tǒng)開(kāi)發(fā) 專(zhuān) 業(yè): 計(jì)算機(jī)應(yīng)用技術(shù) 班 級(jí):ZB10001 學(xué) 號(hào): 姓 名: 成 績(jī): 計(jì)算機(jī)學(xué)院二一二年三月五日目 錄一、程序設(shè)計(jì)目的通過(guò)項(xiàng)目驅(qū)動(dòng)的學(xué)習(xí)和綜合實(shí)訓(xùn),熟練掌握運(yùn)用Java語(yǔ)言進(jìn)行桌面應(yīng)用程序開(kāi)發(fā)的基本知識(shí)和技能;熟練掌握J(rèn)AVA的基本語(yǔ)法與JDBC數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用;進(jìn)一步熟悉SQL Server數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理(數(shù)據(jù)庫(kù)的創(chuàng)建、備份與恢復(fù)、函數(shù)與存儲(chǔ)過(guò)程的應(yīng)用、數(shù)據(jù)導(dǎo)入導(dǎo)出、作業(yè)的調(diào)度等)、表的設(shè)計(jì)(表的創(chuàng)建、修改、刪除,字段的默認(rèn)值、約束及關(guān)系等)、數(shù)據(jù)的查詢處理(insert、upd

2、ate、delete、select語(yǔ)句的應(yīng)用)等技術(shù);并能結(jié)合數(shù)據(jù)庫(kù)應(yīng)用技術(shù)和軟件工程技術(shù)進(jìn)行桌面應(yīng)用程序的開(kāi)發(fā),能基本勝任Java桌面開(kāi)發(fā)程序員的崗位。二、程序設(shè)計(jì)題目描述和要求圖書(shū)管理系統(tǒng),是一個(gè)由人、計(jì)算機(jī)等組成的能進(jìn)行管理信息的收集、傳遞、加工、保存、維護(hù)和使用的系統(tǒng)。其功能一般包括:圖書(shū)信息管理、用戶信息管理、圖書(shū)借閱、圖書(shū)歸還、違約與毀壞賠償、圖書(shū)借還查詢等等。三、程序設(shè)計(jì)報(bào)告內(nèi)容3.1 系統(tǒng)需求分析以我校實(shí)際情況為基礎(chǔ),對(duì)于圖書(shū)館圖書(shū)管理設(shè)計(jì)一個(gè)適合于學(xué)校圖書(shū)館使用的圖書(shū)管理系統(tǒng)。還可以為學(xué)校領(lǐng)導(dǎo)提供圖書(shū)的庫(kù)存和圖書(shū)流通量的查詢。該系統(tǒng)需要完成對(duì)圖書(shū)類(lèi)別管理、統(tǒng)計(jì)管理、庫(kù)存管理、

3、用戶信息管理、圖書(shū)借閱管理、圖書(shū)歸還管理、超期與損毀賠償管理、圖書(shū)借還查詢管理、圖書(shū)出入庫(kù)和統(tǒng)計(jì)查詢等。3.1.1 功能需求描述(1)、圖書(shū)管理:對(duì)圖書(shū)進(jìn)行分類(lèi)存儲(chǔ)(計(jì)算機(jī)、機(jī)械、建筑、文學(xué)、心理、藝術(shù)、經(jīng)濟(jì)、歷史、地理、其它)。在入庫(kù)和出庫(kù)的時(shí)候按圖書(shū)類(lèi)別進(jìn)行管理??蓪?duì)現(xiàn)有圖書(shū)信息信息進(jìn)行管理(查詢、修改)。(2)、庫(kù)存信息管理:對(duì)于圖書(shū)出庫(kù)圖書(shū)登記和入庫(kù)圖書(shū)登記。(3)、用戶信息管理:可以實(shí)現(xiàn)對(duì)不同用戶進(jìn)行添加、查詢、刪除和修改,并給與不同用戶不同權(quán)限。(4)、圖書(shū)借閱管理:對(duì)于圖書(shū)借閱信息的登記(書(shū)名、圖書(shū)編號(hào)、館藏、借書(shū)日期、借期、應(yīng)還日期)、對(duì)現(xiàn)有圖書(shū)庫(kù)存減少、對(duì)圖書(shū)借閱人信息進(jìn)行登

4、記(姓名/學(xué)號(hào)、本次借閱冊(cè)數(shù)、圖書(shū)編號(hào))。(5)、圖書(shū)歸還管理:對(duì)圖書(shū)信息進(jìn)行登記(圖書(shū)編號(hào)、借書(shū)日期、借期、應(yīng)還日期、超期、續(xù)期)對(duì)圖書(shū)借閱人信息進(jìn)行登記(姓名/學(xué)號(hào)、現(xiàn)借冊(cè)數(shù)、現(xiàn)借藏書(shū)信息)。 (6)、圖書(shū)超期與損毀賠償管理:對(duì)于超期、損毀圖書(shū)進(jìn)行賠償收費(fèi)并登記賠償人和管理員信息以及費(fèi)用金額。圖書(shū)管理系統(tǒng)圖書(shū)管理用戶管理現(xiàn)有庫(kù)存管理出庫(kù)管理入庫(kù)管理圖書(shū)借閱管理圖書(shū)歸還管理添加用戶管理刪除用戶管理修改用戶管理權(quán)限管理圖書(shū)賠償管理系統(tǒng)設(shè)計(jì)圖1、 圖書(shū)類(lèi)別管理:對(duì)圖書(shū)進(jìn)行分類(lèi)存儲(chǔ)。在入庫(kù)和出庫(kù)的時(shí)候按圖書(shū)類(lèi)別進(jìn)行管理。(1)分類(lèi):按圖書(shū)的性質(zhì)進(jìn)行分類(lèi),并在圖書(shū)編號(hào)中對(duì)不同類(lèi)別的書(shū)籍使用不同的類(lèi)別

5、標(biāo)示符(計(jì)算機(jī)(JS)、機(jī)械(JQ)、建筑(JZ)、文學(xué)(WX)、心理(XL)、藝術(shù)(YS)、經(jīng)濟(jì)(JJ)、歷史(LS)、地理(DL)。(2)圖書(shū)信息管理:對(duì)現(xiàn)有圖書(shū)信息進(jìn)行查看并可以修改。2、 庫(kù)存信息管理:對(duì)于圖書(shū)出庫(kù)圖書(shū)登記和入庫(kù)圖書(shū)登記及現(xiàn)有庫(kù)存圖書(shū)進(jìn)行管理。(1) 入庫(kù)管理:記錄入庫(kù)圖書(shū)總量,分類(lèi)別進(jìn)行統(tǒng)計(jì)并記錄。記錄登記人員姓名。(將這些信息記錄進(jìn)數(shù)據(jù)庫(kù)中,在相應(yīng)查詢權(quán)限下可以查詢。但是記錄后不可修改。)(2) 出庫(kù)管理:記錄出庫(kù)圖書(shū)總量,分類(lèi)別進(jìn)行統(tǒng)計(jì)記錄,記錄登記人員姓名。將這些信息記錄進(jìn)數(shù)據(jù)庫(kù)中,在相應(yīng)查詢權(quán)限下可以查詢。但是記錄后不可修改。)(3) 現(xiàn)有庫(kù)存管理:對(duì)現(xiàn)有庫(kù)存

6、進(jìn)行管理,在入庫(kù)時(shí)對(duì)庫(kù)存進(jìn)行增加并對(duì)每一本圖書(shū)進(jìn)行分類(lèi)編號(hào)登記,在出庫(kù)時(shí)對(duì)庫(kù)存減少并刪除相應(yīng)的圖書(shū)信息。3、 用戶信息管理:可以實(shí)現(xiàn)對(duì)不同用戶進(jìn)行添加、查詢、刪除和修改,并給與不同用戶不同權(quán)限。(1) 用戶信息添加:對(duì)用戶的相應(yīng)信息進(jìn)行添加(用戶名,密碼,出生日期,性別,管理操作權(quán)限,借閱權(quán)限)。(2) 用戶信息查詢:對(duì)用戶的信息進(jìn)行查詢。(3) 用戶信息刪除:對(duì)用戶信息進(jìn)行刪除。(4) 用戶信息修改:用戶可以對(duì)自己的用戶密碼和出生日期進(jìn)行修改,管理員只可以修改用戶的權(quán)限4、 圖書(shū)借閱管理:對(duì)于圖書(shū)借閱信息的登記(書(shū)名、圖書(shū)編號(hào)、館藏、借書(shū)日期、借期、應(yīng)還日期)同時(shí)系統(tǒng)自動(dòng)對(duì)借閱圖書(shū)量增加、對(duì)

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

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

9、額。(1) 超期賠償管理:登記用戶信息(姓名/學(xué)號(hào))查看超期時(shí)間并對(duì)其進(jìn)行賠償收費(fèi)(記錄收費(fèi)人信息,賠償人信息,收費(fèi)金額,收費(fèi)日期并存入數(shù)據(jù)庫(kù)中)。(2) 損毀賠償管理:登記用戶信息(姓名/學(xué)號(hào))并對(duì)其進(jìn)行賠償收費(fèi)(記錄收費(fèi)人信息,賠償人信息,收費(fèi)金額,收費(fèi)日期并存入數(shù)據(jù)庫(kù)中)。在圖書(shū)信息中的借閱標(biāo)示欄內(nèi)系統(tǒng)自動(dòng)在借閱的基礎(chǔ)上加1表示損毀。3.1.2 對(duì)應(yīng)數(shù)據(jù)需求描述1 、 圖書(shū)類(lèi)別管理數(shù)據(jù)需求:圖書(shū)分類(lèi)管理數(shù)據(jù)需求:(按:計(jì)算機(jī)、機(jī)械、建筑、文學(xué)、心理、藝術(shù)、經(jīng)濟(jì)、歷史、地理九類(lèi)進(jìn)行分類(lèi))。并對(duì)分類(lèi)圖書(shū)進(jìn)行標(biāo)識(shí)(計(jì)算機(jī)(JS)、機(jī)械(JQ)、建筑(JZ)、文學(xué)(WX)、心理(XL)、藝術(shù)(Y

10、S)、經(jīng)濟(jì)(JJ)、歷史(LS)、地理(DL)。并在標(biāo)識(shí)符后面加四位編號(hào)(例子:JS0001)。數(shù)據(jù)項(xiàng)數(shù)據(jù)需求圖書(shū)類(lèi)別名稱按圖書(shū)類(lèi)別進(jìn)行分類(lèi)(初始分為九種),計(jì)算機(jī)、機(jī)械、建筑、文學(xué)、心理、藝術(shù)、經(jīng)濟(jì)、歷史、地理。在系統(tǒng)完成后可進(jìn)行類(lèi)別的添加和刪除修改。(10漢字內(nèi))類(lèi)別說(shuō)明對(duì)相應(yīng)類(lèi)別進(jìn)行詳細(xì)描述。2 、庫(kù)存信息管理數(shù)據(jù)需求:(1) 入庫(kù)管理數(shù)據(jù)需求:數(shù)據(jù)項(xiàng)數(shù)據(jù)需求入庫(kù)編號(hào)用于在數(shù)據(jù)庫(kù)中唯一標(biāo)識(shí)入庫(kù)信息。自動(dòng)增加入庫(kù)ISBN編號(hào)用于唯一標(biāo)識(shí)圖書(shū)的圖書(shū)ISBN編碼 。入庫(kù)圖書(shū)數(shù)量圖書(shū)的數(shù)量。入庫(kù)時(shí)間記錄圖書(shū)入庫(kù)時(shí)間。入庫(kù)操作員編號(hào)記錄登記圖書(shū)入庫(kù)操作員的編號(hào)。(2) 出庫(kù)管理數(shù)據(jù)需求:出庫(kù)編號(hào)用

11、于在數(shù)據(jù)庫(kù)中唯一標(biāo)識(shí)出庫(kù)信息。自動(dòng)增加出庫(kù)ISBN編號(hào)用于唯一標(biāo)識(shí)圖書(shū)的圖書(shū)ISBN編碼 。出庫(kù)圖書(shū)數(shù)量圖書(shū)數(shù)量出庫(kù)時(shí)間記錄圖書(shū)出庫(kù)時(shí)間。出庫(kù)操作員編號(hào)登記圖書(shū)出庫(kù)操作員的編號(hào)。3、 用戶信息管理數(shù)據(jù)需求:(1)用戶信息添加數(shù)據(jù)需求:數(shù)據(jù)項(xiàng)數(shù)據(jù)需求用戶編號(hào)用于唯一標(biāo)識(shí)學(xué)生,要求:共8位,前2為年份,中間2位特殊類(lèi)別標(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)包

12、括:正常、暫停使用和已注銷(xiāo)(2)用戶權(quán)限管理:數(shù)據(jù)項(xiàng)數(shù)據(jù)需求權(quán)限編號(hào)編號(hào)用于標(biāo)示權(quán)限類(lèi)別的編號(hào)權(quán)限名稱權(quán)限的名稱。(領(lǐng)導(dǎo)、教師、管理員、學(xué)生)可借閱書(shū)籍根據(jù)權(quán)限借閱不同數(shù)量的書(shū)籍。(3)用戶信息修改數(shù)據(jù)需求:修改用戶的信息。數(shù)據(jù)項(xiàng)數(shù)據(jù)需求用戶編號(hào)用于唯一標(biāo)識(shí)學(xué)生,要求:共8位,前2為年份,中間2位特殊類(lèi)別標(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)權(quán)限的標(biāo)識(shí)號(hào)碼。只能有以下四種(領(lǐng)導(dǎo),管理員,教師,學(xué)生),

13、狀態(tài)包括:正常、暫停使用和已注銷(xiāo)(5)用戶信息刪除數(shù)據(jù)需求:刪除用戶的注冊(cè)信息。4 、圖書(shū)借閱,歸還管理數(shù)據(jù)需求:在借閱圖書(shū)時(shí)的數(shù)據(jù)需求。數(shù)據(jù)項(xiàng)數(shù)據(jù)需求借還編號(hào)唯一標(biāo)識(shí)借閱信息的編號(hào)。在數(shù)據(jù)庫(kù)中區(qū)別信息。用戶編號(hào)管理員人工將用戶編號(hào)輸入登記框。ISBN管理員人工將圖書(shū)編號(hào)輸入登記框。借閱時(shí)間系統(tǒng)自動(dòng)在電腦上獲取時(shí)間。借閱數(shù)量登記借閱書(shū)籍的數(shù)量。歸還時(shí)間在歸還時(shí)自動(dòng)獲取時(shí)間。5、圖書(shū)超期和損毀賠償管理數(shù)據(jù)需求:數(shù)據(jù)項(xiàng)數(shù)據(jù)需求賠償編號(hào)唯一標(biāo)識(shí)借閱信息編號(hào)。自動(dòng)增加。用戶編號(hào)管理員人工將用戶編號(hào)輸入文本框。ISBN編號(hào)管理員人工將圖書(shū)編號(hào)輸入文本框。情況描述對(duì)于賠償情況的詳細(xì)描述處理結(jié)果管理員登記賠

14、償金額收費(fèi)時(shí)間系統(tǒng)自動(dòng)獲取系統(tǒng)時(shí)間。操作員編號(hào)輸入操作員編號(hào)。3.1.3 數(shù)據(jù)庫(kù)概念模型設(shè)計(jì)用戶電話班級(jí)注冊(cè)時(shí)間密碼姓名用戶編號(hào)性別權(quán)限號(hào)狀態(tài)圖1 用戶實(shí)體圖權(quán)限權(quán)限名權(quán)限編號(hào)可借閱書(shū)籍?dāng)?shù)量圖2 權(quán)限實(shí)體圖圖書(shū)圖書(shū)名作者出版社書(shū)價(jià)庫(kù)存量ISBN編號(hào)類(lèi)別名出版時(shí)間現(xiàn)存量圖3 圖書(shū)實(shí)體圖類(lèi)別類(lèi)別說(shuō)明圖書(shū)類(lèi)別名圖4 類(lèi)別實(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í)體圖入庫(kù)入庫(kù)時(shí)間入庫(kù)數(shù)量入庫(kù)操作員編號(hào)入庫(kù)ISBN編號(hào)入庫(kù)編號(hào)圖7 入庫(kù)實(shí)體圖出庫(kù)出庫(kù)時(shí)間出庫(kù)數(shù)量出庫(kù)操作員編號(hào)出庫(kù)ISBN編號(hào)

15、出庫(kù)編號(hào)圖8 出庫(kù)實(shí)體圖功能功能編號(hào)功能模塊圖9 功能實(shí)體圖模塊功能編號(hào)權(quán)限編號(hào)圖10 模塊實(shí)體圖讀者圖書(shū)類(lèi)別借還違約所屬管理員圖書(shū)管理用戶管理NMNNMMM1NN圖11 各實(shí)體關(guān)系圖3.1.4數(shù)據(jù)庫(kù)邏輯模型設(shè)計(jì)模型設(shè)計(jì)根據(jù)E-R圖,將其轉(zhuǎn)換為關(guān)系模式可得到以下8個(gè)關(guān)系模式:用戶(用戶編號(hào)、姓名、性別、密碼、電話、班級(jí)、注冊(cè)時(shí)間、權(quán)限編號(hào)、狀態(tài))權(quán)限(權(quán)限編號(hào)、權(quán)限名稱、可借閱書(shū)籍)模塊(權(quán)限編號(hào)、功能名稱)圖書(shū)(ISBN編號(hào)、圖書(shū)名、作者、出版社、出版時(shí)間、書(shū)價(jià)、圖書(shū)書(shū)類(lèi)別名、庫(kù)存量、現(xiàn)存量)類(lèi)別(圖書(shū)類(lèi)別名、說(shuō)明)借還(借閱編號(hào)、用戶編號(hào)、ISBN、借閱時(shí)間、借閱數(shù)量、歸還時(shí)間)賠償(賠償

16、編號(hào)、用戶編號(hào)、ISBN編號(hào)、原因、處理結(jié)果、處理時(shí)間、操作員編號(hào))出庫(kù)(出庫(kù)編號(hào)、ISBN編號(hào)、出庫(kù)圖書(shū)數(shù)量、出庫(kù)時(shí)間、出庫(kù)操作員編號(hào))入庫(kù)(入庫(kù)編號(hào)、ISBN編號(hào)、入庫(kù)圖書(shū)數(shù)量、入庫(kù)時(shí)間、入庫(kù)操作員編號(hào))3.1.5表的設(shè)計(jì)與實(shí)現(xiàn)表一:用戶信息表(users)=(OK)字段名稱類(lèi)型是否為空默認(rèn)值是否主鍵用戶編號(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 null電話(user_Tel)varchar (30)班級(jí)(u

17、ser_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)字段名稱類(lèi)型是否為空默認(rèn)值是否主鍵權(quán)限編號(hào)(limit_Id)varchar(10)not null自動(dòng)增加主鍵(S001)權(quán)限類(lèi)名(limit_Name)varchar(15)not null借閱書(shū)籍?dāng)?shù)量(limit_Qty)int not null3表三:圖書(shū)信息表(books)字段名稱類(lèi)型是否為空默認(rèn)值

18、是否主鍵ISBN編號(hào)(book_Id)varchar(17)not null主鍵圖書(shū)名(book_Name)varchar(30)not null作者(book_Author)varchar (10)not null出版社(book_Society)varchar(50)not null出版時(shí)間(book_Time)datatimenot null書(shū)價(jià)(book_Price)intnot null圖書(shū)類(lèi)別名(book_Sort)varchar(10)not null計(jì)算機(jī)外鍵庫(kù)存量(book_Qty)int現(xiàn)存量(book_Qtyx)int表四:功能模塊表(module)=(OK)字段名稱類(lèi)型

19、是否為空默認(rèn)值是否主鍵權(quán)限編號(hào)(lilmit_Id)varchar(10)not null外鍵模塊名稱(module_Name)varchar(30)not null表五:超期損毀表(compensate)字段名稱類(lèi)型是否為空默認(rèn)值是否主鍵賠償編號(hào)(cpt_Id)intnot null主鍵用戶編號(hào)(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

20、自動(dòng)獲取操作員編號(hào)(user_Id)intnot null外鍵表七:圖書(shū)類(lèi)別表:(sort)=字段名稱類(lèi)型是否為空默認(rèn)值是否主鍵圖書(shū)類(lèi)別名(book_Sort)varchar(10)not null計(jì)算機(jī)主鍵說(shuō)明explaintext表六:借閱歸還表(borrow)字段名稱類(lèi)型是否為空默認(rèn)值是否主鍵借閱編號(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í)間

21、(return_Time)datatime自動(dòng)獲取表八:入庫(kù)表:(enter)字段名稱類(lèi)型是否為空默認(rèn)值是否主鍵入庫(kù)編號(hào)(enter_Id)intnot null自動(dòng)增加主鍵ISBN編號(hào)(book_Id)varchar(17)not null外鍵入庫(kù)圖書(shū)數(shù)量(enter_Qty)intnot null入庫(kù)時(shí)間(enter_Time)datatimenot null自動(dòng)獲取入庫(kù)操作員編號(hào)(user_Id)intnot null外鍵表九:出庫(kù)表(out)字段名稱類(lèi)型是否為空默認(rèn)值是否主鍵出庫(kù)編號(hào)(out_Id)varchar(10)not null自動(dòng)增加主鍵ISBN編號(hào)(book_Id)varc

22、har(12)not null外鍵出庫(kù)圖書(shū)數(shù)量(out_Qty)intnot null出庫(kù)時(shí)間(out_Time)datatimenot null自動(dòng)獲取出庫(kù)操作員編號(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ì)public void actionPerformed(ActionEvent e) /監(jiān)視器if(e.getSource()=Ok)/點(diǎn)擊確定時(shí)執(zhí)行的語(yǔ)句if(yh.getText().equals("")/判斷用戶號(hào)是否輸入JOptionPane.showMessageDialog(O

23、k,"請(qǐng)輸入賬號(hào) ","提示",JOptionPane.INFORMATION_MESSAGE);else if(mm.getText().equals("")/判斷密碼是否為空J(rèn)OptionPane.showMessageDialog(Ok,"請(qǐng)輸入 密碼!","提示",JOptionPane.INFORMATION_MESSAGE);try Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); cat

24、ch (ClassNotFoundException e1) JOptionPane.showMessageDialog(null,"數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序不存在","提示",JOptionPane.ERROR_MESSAGE);try Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=圖書(shū)管理系統(tǒng)","sa","123");PreparedStatement

25、 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("圖書(shū)管理系統(tǒng)",Integer.parseInt(yh.get

26、Text();this.dispose();elseJOptionPane.showMessageDialog(null,"用戶名不存在或者密碼不正確,請(qǐng)重新輸入!","提示",JOptionPane.ERROR_MESSAGE); catch (SQLException e1) JOptionPane.showMessageDialog(null,"SQL語(yǔ)句執(zhí)行錯(cuò)誤!","提示",JOptionPane.ERROR_MESSAGE);if(e.getSource()=Cancel)/點(diǎn)擊取消實(shí)現(xiàn)的this.di

27、spose();if(bc.isSelected()=true)/選擇記住密碼savaFile();if(bc.isSelected()=false)/未選擇記住密碼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()+"-&q

28、uot;);txt.write(mm.getText()+"+");txt.close(); catch (IOException e) / TODO 自動(dòng)生成 catch 塊e.printStackTrace();public void savaFile1()/實(shí)現(xiàn)對(duì)空白文本的保存File f=new File(".datadk.txt");try FileWriter txt=new FileWriter(f);txt.write(yh.getText()+"-");txt.write(""+"+&q

29、uot;);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 br = new BufferedReader(fr); try String line = br.readLine();yh.setText(line.toString().substring(0,line.toString(

30、).indexOf('-');mm.setText(line.toString().substring(line.toString().indexOf('-')+1,line.toString().indexOf('+'); catch (IOException e) e.printStackTrace(); catch (FileNotFoundException e1) e1.printStackTrace(); 3.2.2 主界面void setAllFrameIcon()/在運(yùn)行新窗體之前,將所有的窗體最小化JInternalFrame

31、jf;jf=desk1.getAllFrames();for(int i=0;i<jf.length;i+)try if(!jfi.isIcon() jfi.setIcon(true); catch (PropertyVetoException e) e.printStackTrace();desk1.validate();boolean getDakai(String s)/判斷標(biāo)題為s的窗體是否打開(kāi)JInternalFrame jf;jf=desk1.getAllFrames();for(int i=0;i<jf.length;i+)if(s.equals(jfi.getTit

32、le()return false;return true;void openFrame(String s)/搜索標(biāo)題為s的窗體,并將其顯式出來(lái)JInternalFrame jf;jf=desk1.getAllFrames();for(int i=0;i<jf.length;i+)if(s.equals(jfi.getTitle()try jfi.setIcon(false); catch (PropertyVetoException e) / TODO 自動(dòng)生成 catch 塊e.printStackTrace();public void actionPerformed(ActionEv

33、ent e) /監(jiān)視器方法if(e.getSource()=m21)|(e.getSource()=b1)new BorrowFrame(userId);/借閱窗口if(e.getSource()=m25)|(e.getSource()=b2)new DamageFrame(userId);if(e.getSource()=m22)new OutFrame(userId);/if(e.getSource()=m23)if(e.getSource()=b3)new DJFrame();if(e.getSource()=m24)|(e.getSource()=b4)new EnterFrame(u

34、serId);if(e.getSource()=m31)|(e.getSource()=b6)new CanFrame("用戶注銷(xiāo)");if(e.getSource()=m32)|(e.getSource()=b5)new LimitFrame();if(e.getSource()=m33)new UpdateFrame();if(e.getSource()=m41)if(e.getSource()=m42)new GyFrame("軟件關(guān)于");3.2.3 用戶注冊(cè)界面設(shè)計(jì)/加載驅(qū)動(dòng)try Class.forName("com.microso

35、ft.jdbc.sqlserver.SQLServerDriver");/1、加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序 catch (ClassNotFoundException e1) JOptionPane.showMessageDialog(null,"加載驅(qū)動(dòng)程序失敗!");/監(jiān)視器實(shí)現(xiàn)的事件public void actionPerformed(ActionEvent e) if(e.getSource()=Ok)/點(diǎn)擊注冊(cè)按鈕實(shí)現(xiàn)的事件try Connection con=DriverManager.getConnection("jdbc:microsoft:sq

36、lserver:/:1433;DatabaseName=圖書(shū)管理系統(tǒng)","sa","123");/2、創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象conPreparedStatement pstmt=con.prepareStatement("insert into users(user_Name,user_Sex,user_Pwd,user_Tel,user_Class)values(?,?,?,?,?)");/3、創(chuàng)建PreparedStatement預(yù)處理執(zhí)行對(duì)象pstmt pstmt.setString(1,Nametext

37、.getText(); if(man.isSelected() pstmt.setString(2,"男"); else pstmt.setString(2,"女"); pstmt.setString(3,Pwdtext.getText(); pstmt.setString(4,Teltext.getText(); pstmt.setString(5,Classtext.getText(); /5、執(zhí)行數(shù)據(jù)插入操作,將返回值賦值給整型變量n int n=pstmt.executeUpdate(); /6、判斷n是否大于0,如果大于0提示注冊(cè)成功并關(guān)閉注冊(cè)

38、窗體,否則提示注冊(cè)失敗 if(n>0)/判斷成功并提示! JOptionPane.showMessageDialog(null,"注冊(cè)用戶成功!","添加用戶提示",JOptionPane.INFORMATION_MESSAGE); this.dispose(); else/失敗 JOptionPane.showMessageDialog(null,"注冊(cè)用戶失?。?quot;,"添加用戶提示",JOptionPane.ERROR_MESSAGE); pstmt.close();/7、關(guān)閉預(yù)處理對(duì)象pstmt con.

39、close();/8、關(guān)閉數(shù)據(jù)庫(kù)連接對(duì)象con catch (SQLException e1) JOptionPane.showMessageDialog(null,"SQL語(yǔ)句執(zhí)行錯(cuò)誤!","提示",JOptionPane.ERROR_MESSAGE);if(e.getSource()=Cancel)this.dispose();3.2.4 圖書(shū)登記界面設(shè)計(jì)/為下拉菜單添加數(shù)據(jù)庫(kù)中數(shù)據(jù)try Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); catch (C

40、lassNotFoundException e1) JOptionPane.showMessageDialog(null,"數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序不存在","提示",JOptionPane.ERROR_MESSAGE);try Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=圖書(shū)管理系統(tǒng)","sa","123");PreparedStatement pstm

41、t=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語(yǔ)句執(zhí)行錯(cuò)誤!","提示",JOptionPane.ERROR

42、_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=圖書(shū)管理系統(tǒng)","sa","123");/2、創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象con/下面在添加分組 PreparedStatement pstmt=con.prepare

43、Statement("insert into books(books_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()

44、; pstmt.setString(4,Soctext.getText(); pstmt.setString(5,Timetext.getText(); pstmt.setInt(6,Integer.parseInt(Pritext.getText(); pstmt.setString(7,Sortext.getSelectedItem().toString(); int n=pstmt.executeUpdate(); if(n>0)/成功! JOptionPane.showMessageDialog(null,"添加圖書(shū)成功!","添加圖書(shū)提示"

45、;,JOptionPane.INFORMATION_MESSAGE); this.dispose(); else/失敗 JOptionPane.showMessageDialog(null,"添加圖書(shū)失??!","添加圖書(shū)提示",JOptionPane.INFORMATION_MESSAGE); pstmt.close();/7、關(guān)閉預(yù)處理對(duì)象pstmt con.close();/8、關(guān)閉數(shù)據(jù)庫(kù)連接對(duì)象con catch (SQLException e1) JOptionPane.showMessageDialog(null,"SQL執(zhí)行錯(cuò)誤!&

46、quot;); if(e.getSource()=Cancel)this.dispose();3.2.5 圖書(shū)入庫(kù)面設(shè)計(jì)/監(jiān)視器中實(shí)現(xiàn)的事件public void actionPerformed(ActionEvent e) if(e.getSource()=Ok)/點(diǎn)擊確定要執(zhí)行的事件try Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");/1、加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序 catch (ClassNotFoundException e1) JOptionPane.showMessageDialog(nul

47、l,"加載驅(qū)動(dòng)程序失??!");try Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver:/:1433;DatabaseName=圖書(shū)管理系統(tǒng)","sa","123");/2、創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象con /下面首先判斷要添加的分組是否存在,如果不存在才添加分組PreparedStatement pstmt1=con.prepareStatement("select * from books where b

48、ooks_Id=?");pstmt1.setString(1,BookIdtext.getText();ResultSet rst=pstmt1.executeQuery();if(!rst.next()/不存在則添加new DJFrame();else PreparedStatement pstmt=con.prepareStatement("insert into enter(books_Id,enter_Qty,user_Id)values(?,?,?)");/3、創(chuàng)建PreparedStatement預(yù)處理執(zhí)行對(duì)象pstmt pstmt.setString

49、(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=books_Qtyx+? where books_Id=?"); pstmt2.setInt(1,Integer.parseInt(Qtytext.getText(); pstmt2.s

50、etInt(2,Integer.parseInt(Qtytext.getText(); pstmt2.setString(3,BookIdtext.getText(); int n=pstmt2.executeUpdate(); int n1=pstmt.executeUpdate(); if(n>0)&&(n1>0)/成功! JOptionPane.showMessageDialog(null,"圖書(shū)入庫(kù)成功!","入庫(kù)提示",JOptionPane.INFORMATION_MESSAGE); this.dispose();

51、 else/失敗 JOptionPane.showMessageDialog(null,"圖書(shū)入庫(kù)失??!","入庫(kù)提示",JOptionPane.ERROR_MESSAGE); pstmt.close();/7、關(guān)閉預(yù)處理對(duì)象pstmt pstmt2.close();/7、關(guān)閉預(yù)處理對(duì)象pstmtrst.close();pstmt1.close(); con.close();/8、關(guān)閉數(shù)據(jù)庫(kù)連接對(duì)象con catch (SQLException e1) if(e.getSource()=Cancel)/點(diǎn)擊取消則關(guān)閉窗口this.dispose();3.2.6 圖

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論