版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
山東交通學(xué)院數(shù)據(jù)庫(kù)課程設(shè)計(jì)書店租賃系統(tǒng)院(系)別信息科學(xué)與電氣工程學(xué)院班級(jí)信管103學(xué)號(hào)100810416姓名王智剛指導(dǎo)教師王成時(shí)間2012-04-09—2012-課程設(shè)計(jì)任務(wù)書題目書店租賃系統(tǒng)系(部)信電學(xué)院專業(yè)信息管理與信息系統(tǒng)班級(jí)信管103學(xué)生姓名王智剛學(xué)號(hào)10081041604月09日至04月20日共2周指導(dǎo)教師(簽字)系主任(簽字)年月日設(shè)計(jì)內(nèi)容及要求1.設(shè)計(jì)內(nèi)容建立書店租賃管理系統(tǒng),完成會(huì)員信息、書籍信息等的查詢、添加、修改、刪除等操作,并能完成書籍檢索的功能。對(duì)于借閱信息能按照借閱人、借閱日期等查詢。收入信息中應(yīng)考慮會(huì)員交納會(huì)費(fèi)、臨時(shí)人員借閱所交納的租金、因書籍損壞或者過期還書的罰款等信息。2.基本要求查閱資料,掌握相關(guān)知識(shí),確定開發(fā)需求,學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì)語言,設(shè)計(jì)功能完備,界面友好,考慮數(shù)據(jù)庫(kù)的安全性和完整性。設(shè)計(jì)原始資料數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)明教程王珊編著,高等教育出版社2004.09Java程序設(shè)計(jì)實(shí)用教程(第三版)葉核亞編著,陳道蓄主審電子工出版社2010.02三、設(shè)計(jì)完成后提交的文件和圖表1.計(jì)算說明書部分?jǐn)?shù)據(jù)庫(kù)設(shè)計(jì)分析書店租賃系統(tǒng)可以提供以下功能:可以對(duì)會(huì)員信息進(jìn)行查詢、添加、修改、刪除等操作可以對(duì)書籍信息等進(jìn)行查詢、添加、修改、刪除等操作可以完成書籍檢索的功能對(duì)于借閱信息能按照借閱人、借閱日期等查詢收入信息中可以考慮會(huì)員交納會(huì)費(fèi)、臨時(shí)人員借閱所交納的租金、因書籍損壞或者過期還書的罰款等信息。2.圖紙部分:程序流程圖書店租賃系書店租賃系統(tǒng)登錄管理管理員登錄借閱信息會(huì)員信息檢索添加會(huì)員信息修改會(huì)員信息圖書信息圖書信息添加圖書信息修改退出系統(tǒng)圖書信息刪除刪除會(huì)員信息圖書信息檢索四、進(jìn)程安排第一周周一至周三設(shè)計(jì)方案,畫出流程圖,以及每一個(gè)界面,每一個(gè)表、數(shù)據(jù)庫(kù)關(guān)系圖、存儲(chǔ)過程,觸發(fā)器等;周四至周六學(xué)習(xí)并完成數(shù)據(jù)庫(kù)的設(shè)計(jì)與建設(shè);第一周周日到第二周周三學(xué)習(xí)并完成Java環(huán)境下界面的建設(shè);周四周五進(jìn)一步調(diào)試并完善程序。五、主要參考資料SQLServer數(shù)據(jù)庫(kù)項(xiàng)目案例導(dǎo)航[M].劉大瑋,馬傳寶,孫穎潔.清華大學(xué)出版社,2005.07.SQLServer2005開發(fā)技術(shù)大全[M].明日科技編著.人民郵電出版社,2007.09.《馬士兵視頻教程》.成績(jī)?cè)u(píng)定表作品成績(jī)報(bào)告成績(jī)口試(答辯)成績(jī)總評(píng)成績(jī)目錄1 課程設(shè)計(jì)概述 11.1 書店租賃系統(tǒng)概述 11.2 開發(fā)環(huán)境概述 12 書店租賃系統(tǒng)總體設(shè)計(jì) 12.1 書店租賃系統(tǒng)總體設(shè)計(jì)思想 12.2總體設(shè)計(jì)流程圖·····················································23書店租賃系統(tǒng)詳細(xì)設(shè)計(jì)·······································24 程序測(cè)試 34.1 登陸界面 34.2 主菜單界面 44.3 圖書信息界面 54.4會(huì)員信息···························································114.5借閱信息界面·······················································164.6退出系統(tǒng)·························································215數(shù)據(jù)庫(kù)·······················································225.1表··································································225.2數(shù)據(jù)庫(kù)關(guān)系圖·······················································255.3存儲(chǔ)過程···························································256代碼························································30設(shè)計(jì)體會(huì)及今后的改進(jìn)意見·······································42參考文獻(xiàn)························································43摘要私たちの実踐の能力を活用した知識(shí)を高めることができるだろう」と再創(chuàng)造されており、學(xué)校は2週間に、java課程設(shè)計(jì)を?qū)g習(xí)しました。このファイルの詳しい說明はjavaeclipse環(huán)境の下では、一つのソフト開発の過程で、本ソフトウェアは書店賃貸システムのデザインです。このソフトウェアの機(jī)能は書店賃貸管理システム、完成の會(huì)員情報(bào)、書籍の情報(bào)などの問い合わせは、添加や修正、削除などの操作を終えることができる書籍の検索する機(jī)能を持っている。貸出し情報(bào)については、貸出し人、貸出し日時(shí)などで見ることができる。所得を考慮しなければならない會(huì)員情報(bào)に納める會(huì)費(fèi)や臨時(shí)職者貸出しが納めた賃貸料を、書籍の毀損や賞味期限が過ぎは本の課徴金などの情報(bào)を手に入れた。設(shè)計(jì)釈明資料を通じはソフトウェアの統(tǒng)計(jì)によると、計(jì)畫は説明を調(diào)整して、擔(dān)當(dāng)などの面で、も詳細(xì)に紹介した今回の技術(shù)の作成経緯を説明して、各種のない役割を操作する。關(guān)鍵字:データベース,Java,書店賃貸システム課程設(shè)計(jì)概述書店租賃系統(tǒng)功能概述書店租賃系統(tǒng)可以提供以下功能:可以對(duì)會(huì)員信息進(jìn)行查詢、添加、修改、刪除等操作可以對(duì)書籍信息等進(jìn)行查詢、添加、修改、刪除等操作可以完成書籍檢索的功能對(duì)于借閱信息能按照借閱人、借閱日期等查詢收入信息中可以考慮會(huì)員交納會(huì)費(fèi)、臨時(shí)人員借閱所交納的租金、因書籍損壞或者過期還書的罰款等信息。開發(fā)環(huán)境概述Eclipse是一種可擴(kuò)展的開放源代碼IDE。2001年11月,IBM公司捐出價(jià)值4,000萬美元的源代碼組建了Eclipse聯(lián)盟,并由該聯(lián)盟負(fù)責(zé)這種工具的后續(xù)開發(fā)。集成開發(fā)環(huán)境(IDE)經(jīng)常將其應(yīng)用范圍限定在“開發(fā)、構(gòu)建和調(diào)試”的周期之中。為了幫助集成開發(fā)環(huán)境(IDE)克服目前的局限性,業(yè)界廠商合作創(chuàng)建了Eclipse平臺(tái)。Eclipse允許在同一IDE中集成來自不同供應(yīng)商的工具,并實(shí)現(xiàn)了工具之間的互操作性,從而顯著改變了項(xiàng)目工作流程,使開發(fā)者可以專注在實(shí)際的嵌入式目標(biāo)上。Eclipse框架的這種靈活性來源于其擴(kuò)展點(diǎn)。它們是在XML中定義的已知接口,并充當(dāng)插件的耦合點(diǎn)。擴(kuò)展點(diǎn)的范圍包括從用在常規(guī)表述過濾器中的簡(jiǎn)單字符串,到一個(gè)Java類的描述。任何Eclipse插件定義的擴(kuò)展點(diǎn)都能夠被其它插件使用,反之,任何Eclipse插件也可以遵從其它插件定義的擴(kuò)展點(diǎn)。除了解由擴(kuò)展點(diǎn)定義的接口外,插件不知道它們通過擴(kuò)展點(diǎn)提供的服務(wù)將如何被使用。利用Eclipse,我們可以將高級(jí)設(shè)計(jì)(也許是采用UML)與低級(jí)開發(fā)工具(如應(yīng)用調(diào)試器等)結(jié)合在一起。如果這些互相補(bǔ)充的獨(dú)立工具采用Eclipse擴(kuò)展點(diǎn)彼此連接,那么當(dāng)我們用調(diào)試器逐一檢查應(yīng)用時(shí),UML對(duì)話框可以突出顯示我們正在關(guān)注的器件。Eclipse的最大特點(diǎn)是它能接受由Java開發(fā)者自己編寫的開放源代碼插件,這類似于微軟公司的VisualStudio和Sun微系統(tǒng)公司的NetBeans平臺(tái)。Eclipse為工具開發(fā)商提供了更好的靈活性,使他們能更好地控制自己的軟件技術(shù)。Eclipse聯(lián)盟已經(jīng)宣布將在2004年中期發(fā)布其3.0版軟件。這是一款非常受歡迎的java開發(fā)工具,這國(guó)內(nèi)的用戶越來越多,實(shí)際上實(shí)用它java開發(fā)人員是最多的。缺點(diǎn)就是較復(fù)雜,對(duì)初學(xué)者來說,理解起來比較困難。書店租賃系統(tǒng)總體設(shè)計(jì)書店租賃系統(tǒng)總體設(shè)計(jì)思想建立書店租賃管理系統(tǒng),完成會(huì)員信息、書籍信息等的查詢、添加、修改、刪除等操作,并能完成書籍檢索的功能。對(duì)于借閱信息能按照借閱人、借閱日期等查詢。收入信息中應(yīng)考慮會(huì)員交納會(huì)費(fèi)、臨時(shí)人員借閱所交納的租金、因書籍損壞或者過期還書的罰款等信息??傮w設(shè)計(jì)流程圖書店租賃系書店租賃系統(tǒng)登錄管理管理員登錄借閱信息會(huì)員信息檢索添加會(huì)員信息修改會(huì)員信息圖書信息圖書信息添加圖書信息修改退出系統(tǒng)圖書信息刪除刪除會(huì)員信息圖書信息檢索圖2-1總體設(shè)計(jì)流程書店租賃系統(tǒng)詳細(xì)設(shè)計(jì)書店租賃系統(tǒng)的功能模塊有:(1)提供登陸界面,需要輸入管理員的(2)提供菜單界面,方便用戶對(duì)程序的功能進(jìn)行選擇,選擇要實(shí)現(xiàn)的功能按Button進(jìn)入該功能。(2)當(dāng)點(diǎn)擊圖書信息Button時(shí),可以對(duì)圖書信息進(jìn)行檢索,添加,修改,刪除等操作。(3)當(dāng)點(diǎn)擊會(huì)員信息Button時(shí),可以對(duì)會(huì)員信息進(jìn)行檢索,添加,修改,刪除等操作。(4)當(dāng)點(diǎn)擊借閱信息Button時(shí),可以對(duì)借閱信息進(jìn)行檢索,并進(jìn)行借書,還書等操作。(5)點(diǎn)擊退出系統(tǒng)Button時(shí)退出系統(tǒng)。程序分為多個(gè)小模塊,通過調(diào)用實(shí)現(xiàn)各種功能,增強(qiáng)了程序的可建設(shè)性。程序測(cè)試登陸界面圖4-1登陸界面如上圖所示,該程序?yàn)橛脩籼峁┑顷懡缑?,管理員輸入管理員號(hào)和密碼后才能進(jìn)入,提高了安全性保障。錯(cuò)誤提示如果登陸成功,則進(jìn)入主菜單界面;如果登陸不成功(管理員號(hào)輸入錯(cuò)誤或者登錄密碼輸入錯(cuò)誤),則彈出錯(cuò)誤提示對(duì)話框。學(xué)號(hào)輸入錯(cuò)誤圖4-1-1錯(cuò)誤提示密碼輸入錯(cuò)誤圖4-1-2錯(cuò)誤提示主菜單界面圖4-2主菜單界面如上圖所示,主菜單提供了書店租賃系統(tǒng)的四大功能?!皥D書信息”中包含了對(duì)圖書信息的檢索,添加,修改,刪除等功能;“會(huì)員信息”中則包含了對(duì)會(huì)員信息的檢索,添加,修改,刪除等功能;“借閱信息”中則包含了對(duì)會(huì)員的借書情況的檢索,以及實(shí)現(xiàn)會(huì)員的借書,還書的功能;點(diǎn)擊“退出系統(tǒng)”則推出書店粗林系統(tǒng),如若在進(jìn)入,則需要重新登錄。圖書信息界面圖4-3-1圖書信息界面如上圖所示,該界面中,最上面是書籍的檢索,中間是數(shù)據(jù)庫(kù)中書籍信息的顯示,下面則是對(duì)圖書信息進(jìn)行添加、修改、刪除等操作。書籍檢索在書籍名稱后面的編輯框中輸入書籍的名稱圖4-3-2書籍檢索界面書籍檢索點(diǎn)擊“檢索”按鈕圖4-3-3書籍檢索界面界面的中間則顯示出查詢的圖書的基本信息。容錯(cuò)處理圖4-3-4容錯(cuò)處理沒有輸入或者輸入錯(cuò)誤,都會(huì)提示“請(qǐng)輸入要查找的書名”。書籍添加在書籍信息界面上點(diǎn)擊“添加”按鈕,則彈出書籍添加的界面。圖4-3-5添加圖書圖書的基本信息填寫完畢后,點(diǎn)擊“添加”按鈕,該圖書信息就會(huì)添加進(jìn)數(shù)據(jù)庫(kù)中的書籍信息里面;否則,點(diǎn)擊“取消”按鈕,則退出添加圖書的界面。圖4-3-6添加成功如上圖所示,添加成功后,會(huì)自動(dòng)退出添加圖書界面,而在書籍信息界面顯示添加進(jìn)的圖書信息。容錯(cuò)處理圖4-3-7容錯(cuò)處理如果圖書編號(hào)未輸入,則提示“請(qǐng)正確輸入圖書編號(hào)”。修改圖書點(diǎn)擊圖書信息界面上的“修改按鈕”,則彈出修改圖書的界面。圖4-3-8修改圖書信息正如圖所示,修改圖書信息時(shí),圖書編號(hào)是不可以修改的,其他的圖書名稱、出版社、出版日期、作者、類別都可以修改。例如修改出版日期,把“20105”改成“20106”:圖4-3-9修改圖書信息點(diǎn)擊“修改按鈕”:圖4-3-10修改成功容錯(cuò)處理圖4-3-11容錯(cuò)處理如果沒有選中要修改的圖書信息而點(diǎn)擊“修改”按鈕,則容錯(cuò)處理。刪除圖書信息如果圖書信息量不大,可以直接選中某一行進(jìn)行刪除,如果圖書信息量很大,可以先進(jìn)行書籍檢索,然后選中圖書信息進(jìn)行刪除。例如刪除《童年》,首先進(jìn)行檢索,得到《童年》的圖書信息:圖4-3-12刪除圖書信息然后點(diǎn)擊“刪除”按鈕,即可刪除。圖4-3-13刪除圖書信息圖書信息中已不再有《童年》這本書。圖4-3-14刪除圖書信息成功容錯(cuò)處理圖4-3-15容錯(cuò)處理如果沒有選中要?jiǎng)h除的圖書信息而點(diǎn)擊“刪除”按鈕,則容錯(cuò)處理。會(huì)員信息界面圖4-4-1會(huì)員信息界面如上圖所示,該界面中,最上面是會(huì)員信息的檢索,中間是數(shù)據(jù)庫(kù)中會(huì)員信息的顯示,下面則是對(duì)會(huì)員信息進(jìn)行添加、修改、刪除等操作。會(huì)員信息檢索在姓名后面的編輯框中輸入要查詢會(huì)員的姓名圖4-4-2會(huì)員信息檢索界面點(diǎn)擊“檢索”按鈕圖4-4-3會(huì)員信息檢索界面界面的中間則顯示出查詢的會(huì)員的基本信息。容錯(cuò)處理圖4-4-4容錯(cuò)處理如果沒有填寫要查詢的會(huì)員信息或填寫不正確而點(diǎn)擊“檢索”按鈕,則容錯(cuò)處理。會(huì)員信息添加在會(huì)員信息界面上點(diǎn)擊“添加”按鈕,則彈出會(huì)員添加的界面。圖4-4-5添加會(huì)員信息會(huì)員的基本信息填寫完畢后,點(diǎn)擊“添加”按鈕,該會(huì)員信息就會(huì)添加進(jìn)數(shù)據(jù)庫(kù)中的會(huì)員信息里面;否則,點(diǎn)擊“取消”按鈕,則退出添加會(huì)員信息的界面。圖4-4-6添加成功如上圖所示,添加成功后,會(huì)自動(dòng)退出添加會(huì)員信息界面,而在會(huì)員信息界面顯示添加進(jìn)的會(huì)員信息。容錯(cuò)處理圖4-4-7容錯(cuò)處理如果會(huì)員編號(hào)未輸入,則提示“請(qǐng)正確輸入會(huì)員編號(hào)”。修改會(huì)員信息點(diǎn)擊會(huì)員信息界面上的“修改按鈕”,則彈出修改會(huì)員信息的界面。圖4-4-8修改圖書信息正如圖所示,修改會(huì)員信息時(shí),會(huì)員編號(hào)是不可以修改的,其他的會(huì)員姓名、會(huì)員性別、聯(lián)系方式、最大借書量都可以修改。例如聯(lián)系方式,把“189789956412”改成:圖4-3-9修改會(huì)員信息點(diǎn)擊“修改按鈕”:圖4-4-10修改成功容錯(cuò)處理圖4-4-11容錯(cuò)處理如果沒有選擇要修改的會(huì)員信息,而點(diǎn)擊“修改”按鈕,則會(huì)出現(xiàn)錯(cuò)誤提示。刪除圖書信息如果會(huì)員信息量不大,可以直接選中某一行進(jìn)行刪除,如果會(huì)員信息量很大,可以先進(jìn)行會(huì)員信息檢索,然后選中會(huì)員信息進(jìn)行刪除。例如刪除會(huì)員“王軍”,首先進(jìn)行檢索,得到王軍的會(huì)員信息:圖4-4-12刪除會(huì)員信息然后點(diǎn)擊“刪除”按鈕,即可刪除。圖4-4-13刪除會(huì)員信息圖書信息中已不再有“王軍”這個(gè)人。圖4-4-14刪除會(huì)員信息成功錯(cuò)誤提示圖4-4-15容錯(cuò)處理如果沒有選擇要?jiǎng)h除的會(huì)員信息,而點(diǎn)擊“刪除”按鈕,則會(huì)出現(xiàn)錯(cuò)誤提示。借閱信息界面圖4-5-1借閱信息界面如上圖所示,該界面中,最上面是借閱人借閱信息的檢索,中間是數(shù)據(jù)庫(kù)中借閱信息的顯示,下面則是會(huì)員進(jìn)行借書、還書等操作。會(huì)員信息檢索在借閱人姓名后面的編輯框中輸入要查詢借閱人的姓名圖4-5-2借閱信息檢索界面點(diǎn)擊“檢索”按鈕圖4-5-3借閱信息檢索界面界面的中間則顯示出查詢的會(huì)員的借閱基本信息。容錯(cuò)處理圖4-5-4容錯(cuò)處理如果沒有填寫要查詢的借閱信息或填寫不正確而點(diǎn)擊“檢索”按鈕,則容錯(cuò)處理。借書在借閱信息界面上點(diǎn)擊“添加”按鈕,則彈出借書的界面。圖4-5-5借書會(huì)員的借書基本信息填寫完畢后,點(diǎn)擊“添加”按鈕,該借書信息就會(huì)添加進(jìn)數(shù)據(jù)庫(kù)中的借閱信息里面;否則,點(diǎn)擊“取消”按鈕,則退出添加借書的界面。圖4-5-6借書成功如上圖所示,添加成功后,會(huì)自動(dòng)退出添加借書界面,而在會(huì)員信息界面顯示會(huì)員的借書信息。容錯(cuò)處理圖4-5-7容錯(cuò)處理如果會(huì)員編號(hào)未輸入或輸入不正確,則提示“請(qǐng)正確輸入會(huì)員編號(hào)”。圖4-5-8容錯(cuò)處理如果圖書編號(hào)未輸入或輸入不正確,則提示“請(qǐng)正確輸入圖書編號(hào)”。圖4-5-9容錯(cuò)處理如果借出日期未輸入或輸入不正確,則提示“請(qǐng)正確輸入借出日期”。還書如果借閱信息量不大,可以直接選中某一行進(jìn)行還書,如果借閱信息量很大,可以先進(jìn)行信息檢索,然后選中借閱信息進(jìn)行還書。例如會(huì)員“歐蕾”還書,首先進(jìn)行檢索,得到歐蕾的借閱信息:圖4-5-10檢索借閱人信息然后點(diǎn)擊“還書”按鈕,即可還書。圖4-5-11還書成功提示圖書信息中已不再有“歐蕾”所借的圖書編號(hào)為“IE6114”的信息。圖4-5-12還書成功錯(cuò)誤提示圖4-5-13容錯(cuò)處理如果沒有選擇要還的借閱信息,而點(diǎn)擊“還書”按鈕,則會(huì)出現(xiàn)錯(cuò)誤提示。退出系統(tǒng)點(diǎn)擊主菜單的“退出系統(tǒng)”按鈕,則會(huì)直接退出書店租賃系統(tǒng)。
數(shù)據(jù)庫(kù)圖5數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)的設(shè)計(jì)主要包括數(shù)據(jù)庫(kù)關(guān)系圖、表、視圖、存儲(chǔ)過程、觸發(fā)器等的設(shè)計(jì)。表管理員信息表圖5-1-1管理員信息表設(shè)計(jì)圖5-1-2管理員信息表會(huì)員信息表圖5-1-3會(huì)員信息表設(shè)計(jì)圖5-1-4會(huì)員信息表借閱系統(tǒng)信息表圖5-1-5借閱系統(tǒng)信息表設(shè)計(jì)圖5-1-6借閱系統(tǒng)信息表圖書信息表圖5-1-7圖書信息表設(shè)計(jì) 圖5-1-8圖書信息表數(shù)據(jù)庫(kù)關(guān)系圖 圖5-2數(shù)據(jù)庫(kù)關(guān)系圖設(shè)計(jì)表間關(guān)系,設(shè)置級(jí)聯(lián)操作。這樣可以使減少錯(cuò)誤。借閱信息表中的會(huì)員信息必須在會(huì)員信息表中存在;借閱系統(tǒng)信息表中的圖書信息必須在圖書信息表中存在。存儲(chǔ)過程BookInsert添加圖書信息setANSI_NULLSONsetQUOTED_IDENTIFIERONGOALTERPROCEDURE[dbo].[BookInsert]@圖書編號(hào)varchar(50), @圖書名稱varchar(50), @出版社varchar(50), @出版日期varchar(50), @作者varchar(50), @類別varchar(50)ASBEGINinsertinto圖書信息表values( @圖書編號(hào), @圖書名稱, @出版社, @出版日期, @作者, @類別)END借閱系統(tǒng)信息setANSI_NULLSONsetQUOTED_IDENTIFIERONGOALTERPROCEDURE[dbo].[BorrowInsert]@會(huì)員編號(hào)nchar(10), @會(huì)員姓名varchar(50), @圖書編號(hào)varchar(50), @借出日期varchar(50), @應(yīng)還日期varchar(50), @實(shí)還日期varchar(50), @會(huì)費(fèi)nchar(10), @租金nchar(10), @罰款nchar(10)ASBEGINSETNOCOUNTON;insertinto借閱系統(tǒng)信息表values( @會(huì)員編號(hào), @會(huì)員姓名, @圖書編號(hào), @借出日期, @應(yīng)還日期, @實(shí)還日期, @會(huì)費(fèi), @租金, @罰款)ENDDeleteBookInformationsetANSI_NULLSONsetQUOTED_IDENTIFIERONGOALTERPROCEDURE[dbo].[DeleteBookInformation]@圖書編號(hào)varchar(50) ASBEGINSETNOCOUNTON;deletefrom圖書信息表where@圖書編號(hào)=圖書編號(hào)ENDDeleteBorrowsetANSI_NULLSONsetQUOTED_IDENTIFIERONGOALTERPROCEDURE[dbo].[DeleteBorrow] @圖書編號(hào)varchar(50)ASBEGIN SETNOCOUNTON; deletefrom借閱系統(tǒng)信息表where@圖書編號(hào)=圖書編號(hào)ENDDeleteMembersetANSI_NULLSONsetQUOTED_IDENTIFIERONGOALTERPROCEDURE[dbo].[DeleteMember] SETNOCOUNTON; deletefrom會(huì)員信息表where@會(huì)員編號(hào)=會(huì)員編號(hào)ENDMemberInsertsetANSI_NULLSONsetQUOTED_IDENTIFIERONGOALTERPROCEDURE[dbo].[MemberInsert] (@會(huì)員編號(hào)nchar(10), @會(huì)員姓名varchar(50), @會(huì)員性別nchar(10), @聯(lián)系電話varchar(12), @最大借書量nchar(20))ASBEGIN SETNOCOUNTON; select*from會(huì)員信息表ENDSelectBookNamesetANSI_NULLSONsetQUOTED_IDENTIFIERONGOALTERPROCEDURE[dbo].[SelectBookName] ( @圖書名稱varchar(50))ASBEGIN SETNOCOUNTON; select*from圖書信息表where@圖書名稱=圖書名稱ENDSelectBorrowsetANSI_NULLSONsetQUOTED_IDENTIFIERONGOALTERPROCEDURE[dbo].[SelectBorrow]@會(huì)員姓名varchar(50)ASBEGIN SETNOCOUNTON; select*from借閱系統(tǒng)信息表where@會(huì)員姓名=會(huì)員姓名ENDUpdateBookInformationsetANSI_NULLSONsetQUOTED_IDENTIFIERONGOALTERPROCEDURE[dbo].[UpdateBookInformation] @圖書編號(hào)varchar(50), @圖書名稱varchar(50), @出版社varchar(50), @出版日期varchar(50), @作者varchar(50), @類別varchar(50)ASBEGIN SETNOCOUNTON; update圖書信息表set圖書名稱=@圖書名稱,出版社=@出版社,出版日期=@出版日期,類別=@類別,作者=@作者where圖書編號(hào)=@圖書編號(hào)ENDUpdateMembersetANSI_NULLSONsetQUOTED_IDENTIFIERONGOALTERPROCEDURE[dbo].[UpdateMember] (@會(huì)員編號(hào)nchar(10), @會(huì)員姓名varchar(50), @會(huì)員性別nchar(10), @聯(lián)系電話varchar(12), @最大借書量nchar(20))ASBEGIN SETNOCOUNTON; update會(huì)員信息表set會(huì)員姓名=@會(huì)員姓名,聯(lián)系電話=@聯(lián)系電話,最大借書量=@最大借書量where會(huì)員編號(hào)=@會(huì)員編號(hào)END代碼部分登陸classMyStartPanelextendsJFrameimplementsActionListener{ MyPanelmp=null; JFramejf=null; JTextFieldjtf1=null; JPasswordFieldjpf1=null; JButtonjb1=null; JButtonjb2=null; JLabeljl1=null; JLabeljl2=null; publicMyStartPanel(){ jl1=newJLabel("管理員號(hào):"); jl2=newJLabel("登錄密碼:"); jtf1=newJTextField(10); jpf1=newJPasswordField(10); jb1=newJButton("確定"); jb2=newJButton("取消"); Containern=this.getContentPane(); n.setLayout(null); jl1.setBounds(100,50,70,25); jtf1.setBounds(180,50,120,25); jl2.setBounds(100,80,70,25); jpf1.setBounds(180,80,120,25); jb1.setBounds(100,120,63,35); jb2.setBounds(180,120,63,35); n.add(jl1);//將登陸界面的按鈕和標(biāo)簽添加到登錄的面板里 n.add(jl2); n.add(jtf1); n.add(jpf1); n.add(jb1); n.add(jb2); this.setVisible(true); jb1.addActionListener(this); jb2.addActionListener(this); this.setLocation(300,200); this.setSize(350,250); this.setResizable(false); // //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // //this.setVisible(true); } @Override publicvoidactionPerformed(ActionEvente){ //TODOAuto-generatedmethodstub if(e.getSource()==jb1){//對(duì)輸入的管理員號(hào)和密碼進(jìn)行驗(yàn)證 Stringadmin="1101"; Stringpassword="1"; Stringming=jtf1.getText(); if(ming.equals(admin)){ @SuppressWarnings("deprecation") Stringmima=jpf1.getText(); if(mima.equals(password)){ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//驗(yàn)證通過,則調(diào)用zhujiemian()方法 this.setSize(640,480); this.setLocation(200,200); this.setVisible(false); mp=newMyPanel(); }else{ JOptionPane.showMessageDialog(null,"密碼輸入錯(cuò)誤!"); }//驗(yàn)證失敗,彈出錯(cuò)誤的提示! }else{ JOptionPane.showMessageDialog(null,"管理員號(hào)輸入錯(cuò)誤!"); } } if(e.getSource()==jb2){ System.exit(0); } }}會(huì)員信息classMemberextendsJDialogimplementsActionListener{ Vectorrowdata,columnname; JTablejt=null; JScrollPanejsp=null; Connectionct=null; PreparedStatementps=null; ResultSetrs=null; BuyModelbm=null; JPaneljp1,jp2; JLabeljl1; JButtonjb5,jb2,jb3,jb4; JTextFieldjtf; publicMember() { jp1=newJPanel(); jtf=newJTextField(10); jb2=newJButton("檢索"); jb2.addActionListener(this); jb2.setActionCommand("select"); jl1=newJLabel("姓名"); //把各個(gè)控件加入到j(luò)p1 jp1.add(jl1); jp1.add(jtf); jp1.add(jb2); jp2=newJPanel(); jb3=newJButton("添加"); jb3.addActionListener(this); jb3.setActionCommand("add"); jb4=newJButton("修改"); jb4.addActionListener(this); jb4.setActionCommand("change"); jb5=newJButton("刪除"); jb5.addActionListener(this); jb5.setActionCommand("delete"); jp2.add(jb3); jp2.add(jb4); jp2.add(jb5); bm=newBuyModel(); jt=newJTable(bm); //jf=newJFrame(); jsp=newJScrollPane(jt); this.add(jsp); this.add(jp1,BorderLayout.NORTH); this.add(jp2,BorderLayout.SOUTH); this.setSize(400,300); this.setVisible(true); } publicvoidactionPerformed(ActionEvente2) { //TODOAuto-generatedmethodstub if(e2.getActionCommand().equals("select")){ //因?yàn)榘褜?duì)表的數(shù)據(jù)封裝了,所以可簡(jiǎn)單的完成查詢 Stringname=this.jtf.getText().trim(); Stringsql="select*from會(huì)員信息表where會(huì)員姓名='"+name+"'"; //構(gòu)建新的數(shù)據(jù)模型類,并更新 bm=newBuyModel(sql); //更新JTable jt.setModel(bm); } elseif(e2.getActionCommand().equals("add")) { classAddextendsJDialogimplementsActionListener{ //定義需要的組件 JLabeljl1,jl2,jl3,jl4,jl5,jl6; JButtonjb1,jb2; JTextFieldjtf1,jtf2,jtf3,jtf4,jtf5,jtf6; JPaneljp1,jp2,jp3; //owner它的父窗口 //title窗口名 //modal指定是模式窗口,還是非模式,允不允許再打開其他窗口 publicAdd(MemberMember,Stringtitle,booleanmodal) { super(Member,title,modal); jl1=newJLabel("會(huì)員編號(hào)"); jl2=newJLabel("會(huì)員姓名"); jl3=newJLabel("會(huì)員性別"); jl4=newJLabel("聯(lián)系電話"); jl5=newJLabel("最大借書量"); //jl6=newJLabel(""); jtf1=newJTextField(); jtf2=newJTextField(); jtf3=newJTextField(); jtf4=newJTextField(); jtf5=newJTextField(); //jtf6=newJTextField(); jb1=newJButton("添加"); jb1.addActionListener(this); jb1.setActionCommand("ok"); jb2=newJButton("取消"); jb2.addActionListener(this); jb2.setActionCommand("exit"); jp1=newJPanel(); jp2=newJPanel(); jp3=newJPanel(); //設(shè)置布局 jp1.setLayout(newGridLayout(6,1)); jp2.setLayout(newGridLayout(6,1)); //添加組件 jp1.add(jl1); jp1.add(jl2); jp1.add(jl3); jp1.add(jl4); jp1.add(jl5); //jp1.add(jl6); jp2.add(jtf1); jp2.add(jtf2); jp2.add(jtf3); jp2.add(jtf4); jp2.add(jtf5); //jp2.add(jtf6); jp3.add(jb1); jp3.add(jb2); this.add(jp1,BorderLayout.WEST); this.add(jp2,BorderLayout.CENTER); this.add(jp3,BorderLayout.SOUTH); this.setSize(300,200); //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } @Override publicvoidactionPerformed(ActionEvente){ //TODOAuto-generatedmethodstub if(e.getActionCommand().equals("ok")) { PreparedStatementps=null; ResultSetrs=null; Connectionct=null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); ct=DriverManager.getConnection("jdbc:odbc:111"); Stringstrsql="insertinto會(huì)員信息表values(?,?,?,?,?)"; ps=ct.prepareStatement(strsql); //給參數(shù)賦值 ps.setString(1,jtf1.getText()); ps.setString(2,jtf2.getText()); ps.setString(3,jtf3.getText()); ps.setString(4,jtf4.getText()); ps.setString(5,jtf5.getText()); //ps.setString(5,jtf6.getText()); //System.out.println("jjjjjjjjjjjj"); //執(zhí)行操作 ps.executeUpdate(); //System.out.println("jjjjjjjjjjjj"); //關(guān)閉添加對(duì)話框 this.dispose(); }catch(Exceptione2){ //TODO:handleexception e2.printStackTrace(); }finally{ try{ //為了程序健壯 if(rs!=null) { rs.close(); } if(ps!=null) { ps.close(); } if(ct!=null) { ct.close(); } }catch(Exceptione2){ //TODO:handleexception e2.printStackTrace(); } } } elseif(e.getActionCommand().equals("exit")){ //System.exit(0); this.setVisible(false); } } } Adda=newAdd(this,"添加購(gòu)書者信息",true); //重新獲得新的數(shù)據(jù) //構(gòu)建新的數(shù)據(jù)模型類,并更新 BuyModelbm=newBuyModel(); //更新JTable jt.setModel(bm); } elseif(e2.getActionCommand().equals("change")) { //修改學(xué)生信息 classChangeextendsJDialogimplementsActionListener { //定義需要的組件 JLabeljl1,jl2,jl3,jl4,jl5,jl6; JButtonjb1,jb2; JTextFieldjtf1,jtf2,jtf3,jtf4,jtf5,jtf6; JPaneljp1,jp2,jp3; //owner它的父窗口 //title窗口名 //modal指定是模式窗口,還是非模式,允不允許再打開其他窗口 publicChange(MemberMember,Stringtitle,booleanmodal,BuyModelbm,introwNum) { super(Member,title,modal); jl1=newJLabel("會(huì)員編號(hào)"); jl2=newJLabel("會(huì)員姓名"); jl3=newJLabel("會(huì)員性別"); jl4=newJLabel("聯(lián)系方式"); jl5=newJLabel("最大借書量"); //jl6=newJLabel(""); jtf1=newJTextField(); //初始化數(shù)據(jù) jtf1.setText((String)bm.getValueAt(rowNum,0)); //讓jtf1不能修改 jtf1.setEditable(false); jtf2=newJTextField(); jtf2.setText((String)bm.getValueAt(rowNum,1)); jtf3=newJTextField(); jtf3.setText((String)bm.getValueAt(rowNum,2)); //jtf4=newJTextField(); //jtf4.setText(bm.getValueAt(rowNum,3).toString()); jtf4=newJTextField(); jtf4.setText((String)bm.getValueAt(rowNum,3)); jtf5=newJTextField(); jtf5.setText((String)bm.getValueAt(rowNum,4)); jb1=newJButton("修改"); jb1.addActionListener(this); jb1.setActionCommand("ok"); jb2=newJButton("取消"); jb2.addActionListener(this); jb2.setActionCommand("exit"); jp1=newJPanel(); jp2=newJPanel(); jp3=newJPanel(); //設(shè)置布局 jp1.setLayout(newGridLayout(6,1)); jp2.setLayout(newGridLayout(6,1)); //添加組件 jp1.add(jl1); jp1.add(jl2); jp1.add(jl3); jp1.add(jl4); jp1.add(jl5); //jp1.add(jl6); jp2.add(jtf1); jp2.add(jtf2); jp2.add(jtf3); jp2.add(jtf4); jp2.add(jtf5); //jp2.add(jtf6); jp3.add(jb1); jp3.add(jb2); this.add(jp1,BorderLayout.WEST); this.add(jp2,BorderLayout.CENTER); this.add(jp3,BorderLayout.SOUTH); this.setSize(300,200); //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } @Override publicvoidactionPerformed(ActionEvente){ //TODOAuto-generatedmethodstub //對(duì)用戶 if(e.getActionCommand().equals("ok")) { PreparedStatementps=null; ResultSetrs=null; Connectionct=null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); ct=DriverManager.getConnection("jdbc:odbc:111"); Stringstrsql="update會(huì)員信息表set會(huì)員姓名=?,會(huì)員性別=?,聯(lián)系電話=?,最大借書量=?where會(huì)員編號(hào)=?"; ps=ct.prepareStatement(strsql); //給問號(hào)賦值 ps.setString(1,jtf2.getText()); ps.setString(2,jtf3.getText()); //System.out.println("jdiiiiigh"); ps.setString(3,jtf4.getText()); //ps.setString(4,jtf5.getText()); ps.setString(4,jtf5.getText()); ps.setString(5,jtf1.getText()); //執(zhí)行操作 ps.executeUpdate(); //System.out.println("jkldfajsadgfkldfjs"); //關(guān)閉添加對(duì)話框 this.dispose(); }catch(Exceptione2){ //TODO:handleexception e2.printStackTrace(); }finally{ try{ //為了程序健壯 if(rs!=null) { rs.close(); } if(ps!=null) { ps.close(); } if(ct!=null) { ct.close(); } }catch(Exceptione2){ //TODO:handleexception e2.printStackTrace(); } } } elseif(e.getActionCommand().equals("exit")){ this.setVisible(false)
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026江西省歐潭人力資源集團(tuán)有限公司招聘見習(xí)生3人筆試參考題庫(kù)及答案解析
- 2026上半年貴州事業(yè)單位聯(lián)考赫章縣招聘153人筆試備考試題及答案解析
- 2026年工程地質(zhì)勘察中的質(zhì)量保證措施
- 2026年土地利用中的地質(zhì)災(zāi)害防范策略
- 2025年少先隊(duì)提前入隊(duì)筆試題及答案
- 2025年廣東廣業(yè)投資集團(tuán)筆試及答案
- 2026新興際華集團(tuán)所屬中新聯(lián)公司招聘事業(yè)部總經(jīng)理副總經(jīng)理筆試模擬試題及答案解析
- 2025年材料類事業(yè)單位考試真題及答案
- 2026年臨界含水率對(duì)土壤材料的影響
- 2026四川能投綜合能源有限責(zé)任公司員工招聘19人筆試備考試題及答案解析
- 2026年及未來5年中國(guó)TFT液晶面板行業(yè)市場(chǎng)發(fā)展數(shù)據(jù)監(jiān)測(cè)及投資方向研究報(bào)告
- 大唐集團(tuán)機(jī)考行測(cè)題庫(kù)
- 車輛日常安全檢查課件
- 民航安全法律法規(guī)課件
- 山東省濟(jì)寧市2026屆第一學(xué)期高三質(zhì)量檢測(cè)期末考試濟(jì)寧一模英語(含答案)
- 光伏電站巡檢培訓(xùn)課件
- 中建建筑電氣系統(tǒng)調(diào)試指導(dǎo)手冊(cè)
- 年末節(jié)前安全教育培訓(xùn)
- 安全生產(chǎn)麻痹思想僥幸心理
- GB/T 93-2025緊固件彈簧墊圈標(biāo)準(zhǔn)型
- 建設(shè)工程測(cè)繪驗(yàn)線標(biāo)準(zhǔn)報(bào)告模板
評(píng)論
0/150
提交評(píng)論