圖書銷售系統(tǒng)_第1頁
圖書銷售系統(tǒng)_第2頁
圖書銷售系統(tǒng)_第3頁
圖書銷售系統(tǒng)_第4頁
圖書銷售系統(tǒng)_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫原理課程設(shè)計(jì)評(píng)語:學(xué)院計(jì)算機(jī)工程班級(jí)計(jì)算1013姓名陳高偉學(xué)號(hào)2010810070成績(jī)指導(dǎo)老師林穎賢2013年1月9日第一章引言 2 第二章需求分析 4 2.2處理要求 42.3數(shù)據(jù)字典 52.4安全性和完整性要求 7第三章概念結(jié)構(gòu)設(shè)計(jì) 83.1總ER圖 8第四章邏輯結(jié)構(gòu)設(shè)計(jì) 9 第五章數(shù)據(jù)庫的實(shí)施和維護(hù) 11 35第一章引言較大善的圖書銷售管理系統(tǒng)來實(shí)現(xiàn)對(duì)這些數(shù)據(jù)的有效管理。本系統(tǒng)主要任務(wù)就是對(duì)書店、滿足顧客對(duì)圖書的詳細(xì)的查詢功能。本系統(tǒng)在設(shè)計(jì)中考慮和克服了上訴的諸多問題,增強(qiáng)了實(shí)用性。本課題研究?jī)?nèi)容與目標(biāo)本課題是通過SQLServer和相應(yīng)的面相對(duì)象語言來制作一個(gè)面相書店用戶的圖書銷售管理系統(tǒng)。本圖書銷售管理系統(tǒng)就是要求圖書管理人員通過該系統(tǒng)對(duì)圖書、顧客、管理員、等進(jìn)行統(tǒng)一管理,從而實(shí)現(xiàn)功能上的銷售圖書、管理圖書庫存量、圖書信信息和用戶信息以及相應(yīng)信息查詢。這就要求管理人員能夠?qū)?shù)據(jù)庫熟悉單的表查詢、觸發(fā)器的建立、存儲(chǔ)過程的建立以及用戶自定義函數(shù)的建立管理數(shù)據(jù)庫的方法都能對(duì)圖書館里系統(tǒng)的管理起到事半功倍的效果。最后通過應(yīng)用這些命令來建立一個(gè)完整的圖書銷售管理系統(tǒng)。采用SQLServer2008。本次課程設(shè)計(jì)的圖書銷售管理系統(tǒng)采用了C/S體系結(jié)構(gòu)設(shè)計(jì),即采用了客戶端,這里的客戶端主要是應(yīng)用程序界面,服務(wù)器是數(shù)據(jù)庫后臺(tái)。通過對(duì)前臺(tái)作,來實(shí)現(xiàn)相應(yīng)的對(duì)數(shù)據(jù)庫信息的增、刪、改功能,如果操作正確則將運(yùn)應(yīng)結(jié)果,對(duì)應(yīng)修改后臺(tái)數(shù)據(jù)庫內(nèi)容,信息一旦提交,將不能修改;前臺(tái)頁后臺(tái)數(shù)據(jù)庫編寫好的存儲(chǔ)過程和觸發(fā)器,來實(shí)現(xiàn)操作,客戶端也有很好的,這樣是為了防止用戶的惡意操作,比如說:在登錄界面,只有密碼和登錄名都正確才能進(jìn)入系統(tǒng),并且不同的方式將進(jìn)入不同的操作頁面。統(tǒng)息要求登陸驗(yàn)證ny信息圖書銷售管理系統(tǒng)出登陸驗(yàn)證ny信息圖書銷售管理系統(tǒng)出誤分析數(shù)據(jù)項(xiàng)信息添加顧信息添加顧客信息添加圖書銷售信息圖書信息查詢圖書信息添加圖書信息修改處理要求圖書信息刪除顧客信息修改用用戶圖書入庫信息用戶信息修改數(shù)據(jù)字典型許空okidvarchar3)否dvarchar3)否namevarchar0)否itervarchar1)否lator翻譯者varchar0)是lishervarchar0)是etime是ce價(jià)格ey是m是顧客表型許空deridvarchar3)否amevarchar0)否varchar)是e是itycardvarchar0)否varchar0)是信息表型許空否okidvarchar3)否deridvarchar3)否num量是默認(rèn)為1ate期time否間ooknamevarchar0)是2-4管理員(用戶)表型許空用戶id否ame姓名varchar0)否varchar)是varchar2)是assword密碼varchar0)是ype權(quán)限varchar)是5進(jìn)貨表型許空okidvarchar3)否唯一etime否Number否or理員varchar)否accept收否kat是6圖書類型表型許空varchar3)否evarchar0)否圖書表(book_id,typeid,bookname,writer,translator,publisher,date,price,insum);顧客表(reader_id,kname,sex,age,identitycard,tel);購書信息表(id,book_id,reader_id,buynum,buydate,buybookname);管理員(用戶)表(id,yname,sex,tel,ypassword,ytype);進(jìn)貨表(book_id,date,number,operator,checkandaccept,zk);圖書類型表(id,typename)。1系統(tǒng)管理員,登錄名+密碼2息系統(tǒng)管理員,3系統(tǒng)管理員,4求系統(tǒng)管理員,查詢對(duì)象識(shí)別符(如rid5果系統(tǒng)管理員,對(duì)象具體信息6求系統(tǒng)管理員,識(shí)別符(book_id等)+類型7果信息系統(tǒng)管理員,對(duì)象處理結(jié)果8系統(tǒng)管理員,信息9改請(qǐng)求系統(tǒng)管理員,對(duì)象具體信息數(shù)據(jù)流表用于存放圖書信息;顧客表:用于存放顧客信息;購書信息表:用于存放圖書銷售報(bào)表;管理員(用戶)表:用于存放管理員信息;進(jìn)貨表:用于存放圖書進(jìn)貨信息;圖書類型表:用于存放圖書類型信息。全性和完整性要求安全性SQLServer相應(yīng)的觸發(fā)器來區(qū)正確后可才可進(jìn)入系統(tǒng),而且只有系統(tǒng)管理員(書店店主)在數(shù)據(jù)庫中添加了一般管并且這些一般管理員登錄名和密碼的輸入正確之后才能進(jìn)入系統(tǒng)對(duì)銷售系作,否則系統(tǒng)將拒絕用戶的非法訪問,以保證系統(tǒng)的安全,并且系統(tǒng)也控用戶和系統(tǒng)管理員的權(quán)限,防止用戶惡意操作或者不是故意的操作導(dǎo)致后臺(tái)數(shù)據(jù)庫的不一致。4.1完整性系統(tǒng)為了保證數(shù)據(jù)的完整性,在數(shù)據(jù)庫里面寫了許多觸發(fā)器,比如當(dāng)用戶進(jìn)行添加操作的時(shí)候,可以自動(dòng)更改圖書表里面的庫存量;用戶進(jìn)行銷售操作發(fā)器也可以修改圖書表的對(duì)應(yīng)圖書的庫存量等。據(jù)此來維護(hù)數(shù)據(jù)庫的數(shù)據(jù)并且在進(jìn)行用戶界面交互操作的時(shí)候,會(huì)判斷輸入的信息,如果信息有誤或者無意義,系統(tǒng)將拒絕對(duì)后臺(tái)數(shù)據(jù)庫的更改,因此系統(tǒng)具有很強(qiáng)的數(shù)據(jù)完整性。結(jié)構(gòu)設(shè)計(jì)總ER圖結(jié)構(gòu)設(shè)計(jì)1.圖書類型表(圖書類型編號(hào),圖書類型名)函數(shù)依賴:圖書類型編號(hào)----->圖書類姓名賴圖可以看出,該關(guān)系中不存在部分函數(shù)依賴、傳遞函數(shù)依賴,且只有圖書類型編號(hào)能夠確定其它各項(xiàng)。所以該關(guān)系是BCNF范式。2.圖書表(圖書編號(hào),圖書類型編號(hào),圖書名稱,作者名,譯者名,出版社,出版,庫存量)量賴圖可以看出,該關(guān)系中不存在部分函數(shù)依賴、傳遞函數(shù)依賴,且只有圖書編號(hào)能夠確定其它各項(xiàng)。所以該關(guān)系是BCNF范式。3.顧客表(顧客編號(hào),顧客名稱,性別,年齡,證件號(hào)碼,電話號(hào)碼)函數(shù)依賴:顧客編號(hào)------>顧客名稱,顧客編號(hào)------>性別,顧客編號(hào)------>年齡,顧客編號(hào)------>證件號(hào)碼,顧客編號(hào)------>電話號(hào)碼。賴圖可以看出,該關(guān)系中不存在部分函數(shù)依賴、傳遞函數(shù)依賴,且只有顧客編號(hào)能夠確定其它各項(xiàng)。所以該關(guān)系是BCNF范式。4.訂購信息表(訂單號(hào),圖書編號(hào),客戶編號(hào),購買數(shù)量,銷售時(shí)間,銷售日期,圖書名稱)函數(shù)依賴:訂單號(hào)--->客戶編號(hào),訂單號(hào)--->購買數(shù)量,訂單號(hào)--->銷售時(shí)間,訂單號(hào)--->銷售日期,訂單號(hào)--->圖書名稱,訂單號(hào)---->圖書編號(hào),圖書編號(hào)--->圖書名稱。賴圖可以看出,該關(guān)系中不存在部分函數(shù)依賴,但存在傳遞函數(shù)依賴 (訂單號(hào)---->圖書編號(hào),圖書編號(hào)--->圖書名稱)故需對(duì)表進(jìn)行分表:分表一(訂單號(hào),圖書編號(hào),客戶編號(hào),購買數(shù)量,銷售時(shí)間,銷售日期)分表二(圖書編號(hào),圖書名稱)不存在部分函數(shù)依賴、傳遞函數(shù)依賴,所以改后的關(guān)系是第三范式。5.管理員表(管理員編號(hào),管理員名稱,性別,電話號(hào)碼,密碼,管理員級(jí)別)函數(shù)依賴:管理員編號(hào)----->管理員名稱,管理員編號(hào)----->性別,管理員編號(hào)----->編號(hào)----->密碼,管理員編號(hào)----->管理員級(jí)別賴圖可以看出,該關(guān)系中不存在部分函數(shù)依賴、傳遞函數(shù)依賴,且只有管理員編號(hào)能夠確定其它各項(xiàng)。所以該關(guān)系是BCNF范式。6.進(jìn)貨表(圖書編號(hào),進(jìn)貨日期,進(jìn)貨數(shù)量,操作員,是否驗(yàn)收,折扣)函數(shù)依賴:圖書編號(hào)----->進(jìn)貨日期,圖書編號(hào)----->進(jìn)貨數(shù)量,圖書編號(hào)----->操作員,圖書編號(hào)----->是否驗(yàn)收,圖書編號(hào)----->折扣。賴圖可以看出,該關(guān)系中不存在部分函數(shù)依賴、傳遞函數(shù)依賴,且只有圖書編號(hào)能夠確定其它各項(xiàng)。所以該關(guān)系是BCNF范式。實(shí)施與維護(hù)安全性、圖書信息模糊查找和數(shù)據(jù)庫備份恢復(fù)這塊。程名proc_role_grant員角色建的角色名proc_模糊查找的模糊查找字符模式串庫名要?jiǎng)?chuàng)建的角色名createprocprocrolegrantrnamevarchar20)begindeclaresqlstrvarchar)--sql語句的字符串setsqlstrcreaterolername'authorizationdbo'csqlstrsetsqlstrgrantselectinsertupdatedeleteonbookinfoto'+@rnamecsqlstrsetsqlstrgrantselectinsertupdatedeleteonbooktypeto'+@rnamecsqlstrsetsqlstrgrantselectinsertupdatedeleteonbuyto'+@rnamecsqlstrsetsqlstrgrantselectinsertupdatedeleteonordertto'+@rnamecsqlstrsetsqlstrgrantselectinsertupdatedeleteonreaderto'+@rnamecsqlstrsetsqlstrdenyselectinsertupdatedeleteonoperatorto'+@rnamecsqlstr實(shí)現(xiàn)圖書信息的模糊查找找的字符模式串代碼如下:createprocedureproc@模式串varchar(20)beginlareposionintdeclaresvarchar,@stringvarchar(30)setposion字串的起始位置while@posion<=len(@模式串)--當(dāng)位置大于模式串長(zhǎng)度相等的時(shí)候,退出循環(huán)beginsetssstring-連接字符串sionposionprint@sselectfrombookinfowherebooknamelike@s據(jù)庫據(jù)庫名代碼如下:createprocsqbackupdbnamevarchar20)begindeclarestrsqlvarchar)setstrsqlspaddumpdevicedisk'''+@db_name+'備份設(shè)備'',''d:\'+@db_name+'備份設(shè)備.bak'''strsqlsetstrsqlbackupdatabasedbname'to'+@db_name+'備份設(shè)備withname''+@db_name+'_'+convert(varchar,getdate(),120)+''''strsql名orinsert用戶插入觸發(fā)創(chuàng)建對(duì)應(yīng)數(shù)據(jù)庫用權(quán)限用戶表(operator)bookinfo_insert存量自動(dòng)加1圖書表(bookinfo)bookinfo_update新書pdate圖書表(bookinfo)buy_insert觸發(fā)器實(shí)現(xiàn)銷售帶動(dòng)圖書表庫存改銷售表(buy)insert觸發(fā)器實(shí)現(xiàn)新書訂購來補(bǔ)充對(duì)應(yīng)t進(jìn)貨表(ordert)代碼:建對(duì)應(yīng)登錄名和數(shù)據(jù)庫用戶,并授予相關(guān)權(quán)限-----------tetriggeroperatorinserteratorforinsertbegindeclaresqlstrvarchar)--sql語句的字符串declaretypevarcharnamevarchar(20)electtypeytypenameynamefrominsertedsetsqlstrcreateusernameforlogincgwwithdefault_schema=dbo'csqlstrftypebeginexecspaddrolememberdbownernamebeginftypebeginexecspaddrolememberRoleEmpnameollback圖書信息,庫存量自動(dòng)加-------tetriggerbookinfoinsertokinfoforinsertbegindeclarebookidvarcharctbookidbookidfrominsertedifexistsselectfrombookinfowherebook_id=@bookid)updatebookinfosetinsum=insum+1wherebook_id=@bookidupdatebookinfosetinsum=1wherebook_id=@bookid,庫存量為時(shí)提醒管理員訂購新書------etriggerbookinfoupdateokinfoforupdatebeginlaresuminttsuminsumfrominsertedumbegin帶動(dòng)圖書表庫存量修改----tetriggerbuyinsertyforinsertbegindeclarebookidvarcharctbookidbookidfrominsertedkid訂購來補(bǔ)充對(duì)應(yīng)圖書庫存量---tetriggerordertinsertdertforinsertbegindeclareinnumintbkidvarchar(13)selectinnumnumberbkidbookidfrominsertedupdatebookinfosetinsum=insum+@in_numwherebook_id=@bkid理員登錄,輸入的登錄名和密碼與管理員表里面的信息進(jìn)行匹配,當(dāng)兩者都匹配成功才進(jìn)入管理員操作界面。關(guān)鍵代碼如下:privateclassBookLoginActionimplementsActionListener{publicvoidactionPerformed(finalActionEvente){userBusinesscheckusernamegetText(),newStringpasswordgetPassword//調(diào)用business方法ifusergetName!=null){//判斷用戶名是否為nulltry{MainframenewMain();//登陸成功,創(chuàng)建一個(gè)主窗體framesetVisibletrue可見BookLoginthissetVisiblefalse;//設(shè)置登錄窗體為不顯示}catch(Exceptionex){intStackTrace}}else{ptionPaneshowMessageDialognullusernamesetText("");//設(shè)置用戶名輸入框?yàn)榭誴assword.setText("");//設(shè)置密碼輸入框?yàn)榭諁}}注釋:在java中創(chuàng)建一個(gè)Main類來顯示系統(tǒng)操作界面。關(guān)鍵代碼如下:packagemain;ortjavaawtBorderLayoutportjavaawtDimensionortjavaawtToolkitmportjavaawteventComponentAdaptermportjavaawteventComponentEvent//import.URL;portjavaxswingImageIconortjavaxswingJButtonortjavaxswingJDesktopPaneortjavaxswingJFrameportjavaxswingJInternalFrameportjavaxswingJLabelortjavaxswingJMenuortjavaxswingJMenuBarortjavaxswingJToolBarortjavaxswingUIManagerortjavaxswingWindowConstantsportjavaxswingborderBevelBorderrtformBookLoginrttoolIcon***publicclassMainextendsJFrame{privatestaticfinalJDesktopPaneDESKTOPPANEnewJDesktopPane();//桌面窗體publicstaticvoidmain(String[]args){//入口方法try{UIManager.setLookAndFeel(UIManagergetSystemLookAndFeelClassNamenewBookLogin);//登錄窗口}catch(Exceptionex){intStackTrace}}publicstaticvoidaddIFame(JInternalFrameiframe){//添加子窗體的方法DESKTOP_PANE.add(iframe);//新增子窗體}publicMain(){setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);////設(shè)置關(guān)閉按鈕處理事件Toolkittool=Toolkit.getDefaultToolkit();//獲得默認(rèn)的工具箱?DimensionscreenSize=tool.getScreenSize();//獲得屏幕的大小setSize(800,600);//設(shè)置窗體大小setLocationscreenSizewidthgetWidth/2,(screenSize.height-getHeight())/2);//設(shè)置窗體位置setTitle("圖書銷售管理系統(tǒng)");//設(shè)置窗體標(biāo)題JMenuBarmenuBar=createMenu();//調(diào)用創(chuàng)建菜單欄的方法setJMenuBar(menuBar);//設(shè)置菜單欄JToolBartoolBarcreateToolBar();//調(diào)用創(chuàng)建工具欄的方法getContentPaneaddtoolBarBorderLayoutNORTH);//設(shè)置工具欄finalJLabellabel=newJLabel();//創(chuàng)建一個(gè)標(biāo)簽,用來顯示圖片label.setBounds(0,0,0,0);//設(shè)置窗體的大小和位置labelsetIconnull/窗體背景DESKTOP_PANE.addComponentListener(newComponentAdapter(){publicvoidcomponentResized(finalComponentEvente){Dimensionsizee.getComponent().getSize();//獲得組件大小labelsetSizeegetComponent).getSize());//設(shè)置標(biāo)簽大小labelsetTexthtmlimgwidth="+size.width+"height="sizeheight+"src='"thisgetClass).getResource("/backImg.jpg")></html>");//設(shè)置標(biāo)簽文本,設(shè)置窗口背景}DESKTOP_PANE.add(label,newInteger(Integer.MIN_VALUE));//將標(biāo)簽添加到桌面窗getContentPaneaddDESKTOPPANE//將桌面窗體添加到主窗體中}***lBarprivateJToolBarcreateToolBar(){//創(chuàng)建工具欄的方法JToolBartoolBar=newJToolBar();//初始化工具欄toolBar.setFloatable(false);//設(shè)置是否可以移動(dòng)工具欄toolBarsetBordernewBevelBorder(BevelBorder.RAISED));//設(shè)置邊框JButtonbookAddButtonnewJButtonMenuActionsBOOK_ADD);//圖書信息添加按鈕ImageIconicon=newImageIcon(Main.class.getResource("/bookAddtb.jpg"));//添加菜單欄bookAddButton.setIcon(icon);//設(shè)置按鈕圖標(biāo)bookAddButton.setHideActionText(true);//顯示提示文本toolBaraddbookAddButton);//添加到工具欄中newJButtonMenuActionsBOOKMODIFYImageIconbookmodiiconIconaddbookModiAndDeltbjpg");//創(chuàng)建圖標(biāo)方法bookModiAndDelButton.setIcon(bookmodiicon);//設(shè)置按鈕圖標(biāo)bookModiAndDelButton.setHideActionText(true);//顯示提示文本toolBaraddbookModiAndDelButton);//添加到工具欄中////////////////////////////////////////////////////////////////////////////////////////////JButtonbookTypeAddButton=newJButton(MenuActions.BOOKTYPE_ADD);//圖書類別鈕ImageIconbookTypeAddiconIconaddbookTypeAddtbjpg");//創(chuàng)建圖標(biāo)方法bookTypeAddButton.setIcon(bookTypeAddicon);//設(shè)置按鈕圖標(biāo)bookTypeAddButton.setHideActionText(true);//顯示提示文本toolBaraddbookTypeAddButton;//添加到工具欄中JButtonbookBorrowButton=newJButton(MenuActions.BORROW);//圖書借閱按鈕ImageIconbookBorrowiconIconaddbookBorrowtbjpg");//創(chuàng)建圖標(biāo)方法bookBorrowButton.setIcon(bookBorrowicon);//設(shè)置按鈕圖標(biāo)bookBorrowButton.setHideActionText(true);//顯示提示文本toolBaraddbookBorrowButton);//添加到工具欄中ttonMenuActionsNEWBOOKORDERImageIconbookOrdericonIconaddbookOrdertbjpg");//創(chuàng)建圖標(biāo)方法bookOrderButton.setIcon(bookOrdericon);//設(shè)置按鈕圖標(biāo)bookOrderButton.setHideActionText(true);//顯示提示文本toolBaraddbookOrderButton);//添加到工具欄中ImageIconbookCheckiconIconaddnewbookChecktbjpg");//創(chuàng)建圖標(biāo)方法bookCheckButton.setIcon(bookCheckicon);//設(shè)置按鈕圖標(biāo)bookCheckButton.setHideActionText(true);//顯示提示文本toolBaraddbookCheckButton;//添加到工具欄中JButtonreaderAddButton=newJButton(MenuActions.READER_ADD);//讀者(客戶)信息鈕ImageIconreaderAddiconIconaddreaderAddtbjpg");//創(chuàng)建圖標(biāo)方法readerAddButtonsetIconreaderAddicon);//設(shè)置按鈕圖標(biāo)readerAddButtonsetHideActionTexttrue);//顯示提示文本toolBaraddreaderAddButton;//添加到工具欄中JButtonreaderModiAndDelButton=newJButton(MenuActions.READER_MODIFY);//讀者(客戶)信息修改按鈕ImageIconreaderModiAndDeliconIconaddreaderModiAndDeltbjpg");//創(chuàng)建圖標(biāo)方法readerModiAndDelButtonsetIconreaderModiAndDelicon);//設(shè)置按鈕圖標(biāo)readerModiAndDelButtonsetHideActionTexttrue);//顯示提示文本toolBaraddreaderModiAndDelButton;//添加到工具欄中JButtonExitButtonnewJButtonMenuActionsEXIT);//退出系統(tǒng)按鈕ImageIconExiticonIconaddexittbjpg");//創(chuàng)建圖標(biāo)方法ExitButtonsetIconExiticon/設(shè)置按鈕圖標(biāo)ExitButtonsetHideActionTexttrue/顯示提示文本toolBaraddExitButton;//添加到工具欄中returntoolBar}**privateJMenuBarcreateMenu(){//創(chuàng)建菜單欄的方法JMenuBarmenuBarnewJMenuBar();//創(chuàng)建工具欄JMenusysMenu=newJMenu("系統(tǒng)維護(hù)");//系統(tǒng)維護(hù)JMenuuserManageMItemnewJMenu("用戶管理");//新增用戶管理子菜單userManageMItemadd(MenuActions.USER_ADD);//添加用戶添加菜單項(xiàng)userManageMItemadd(MenuActions.USER_MODIFY);//添加用戶信息修改菜單項(xiàng)sysMenuadd(MenuActions.MODIFY_PASSWORD);//添加更改菜單項(xiàng)sysMenuadduserManageMItem理子菜單sysMenu.addSeparator();//添加分隔線sysMenuaddMenuActionsEXIT系統(tǒng)菜單項(xiàng)JMenubaseMenu=newJMenu("基礎(chǔ)數(shù)據(jù)管理");//初始化基礎(chǔ)數(shù)據(jù)維護(hù)菜單JMenureaderManagerMItemnewJMenu("客戶信息管理");//新增客戶信息管理子菜單readerManagerMItemaddMenuActions.READER_ADD);//添加客戶信息添加菜單項(xiàng)readerManagerMItemaddMenuActions.READER_MODIFY);//添加客戶信息修改菜單項(xiàng)////////////////////////////////////////////////////////////////////////////////////JMenubookTypeManageMItem=newJMenu("圖書類別管理");//新增圖書類別管理子菜單bookTypeManageMItem.add(MenuActions.BOOKTYPE_ADD);//添加圖書類型添加菜單項(xiàng)bookTypeManageMItem.add(MenuActions.BOOKTYPE_MODIFY);//添加圖書類型修改////////////////////////////////////////////////////////////////////////////////////JMenumenunewJMenu("圖書信息管理");//新增圖書信息管理子菜單menu.add(MenuActions.BOOK_ADD);//添加圖書信息添加菜單項(xiàng)menu.add(MenuActions.BOOK_MODIFY);//添加圖書信息修改菜單項(xiàng)baseMenu.add(readerManagerMItem);//添加讀者信息管理子菜單baseMenu.add(bookTypeManageMItem);//添加圖書類別管理子菜單baseMenu.add(menu);//添加圖書信息管理子菜單JMenubookOrderMenu=newJMenu("新書入庫");//初始化新書訂購管理菜單bookOrderMenu.add(MenuActions.NEWBOOK_ORDER);//添加新書定購菜單項(xiàng)bookOrderMenu.add(MenuActions.NEWBOOK_CHECK);//添加驗(yàn)收新書菜單項(xiàng)??JMenuborrowManageMenu=newJMenu("圖書銷售");//初始化圖書銷售管理菜單borrowManageMenu.add(MenuActions.BORROW);//添加借閱(銷售)菜單項(xiàng)borrowManageMenu.add(MenuActions.BOOK_SEARCH);//添加搜索菜單項(xiàng)//borrowManageMenu.add(MenuActions.expired);//添加搜索菜單項(xiàng)menuBaraddsysMenu);//添加系統(tǒng)維護(hù)菜單到菜單欄menuBaraddbaseMenu);//添加基礎(chǔ)數(shù)據(jù)維護(hù)菜單到菜單欄menuBaraddbookOrderMenu);//添加新書訂購管理菜單到菜單欄menuBar.add(borrowManageMenu);//添加借閱(銷售)管理菜單到菜單欄returnmenuBar}}注釋:通過此圖書添加界面,對(duì)數(shù)據(jù)庫的圖書表進(jìn)行信息添加。關(guān)鍵代碼如下:publicstaticintInsertbookStringid,StringtypeId,Stringbookname,ingwriterStringtranslatorStringpublisherDatedateDoublepriceintiStringsqlinsertintobookinfobookidtypeIdbooknamewritertranslator+publisherdatepricevaluesid"+typeId+"','"+bookname+"',"+writertranslator,'"+publisher+"','"+date+"',"+price+")";usinessexecuteUpdatesqlioneoutprintlnegetMessage}Business.close();//關(guān)閉連接對(duì)象returni;//返回更新記錄數(shù)}}注釋:通過此圖書修改界面來對(duì)數(shù)據(jù)庫中的圖書信息進(jìn)行修改。關(guān)鍵代碼如下:publicstaticintUpdatebookStringbook_id,StringtypeId,Stringbookname,ingwriterStringtranslatorStringpublisherDatedateDoublepriceinti/更新記錄數(shù)updatebookinfosetbook_id='"+book_id+"',typeId='"+typeId+"',bookname='"bookname,writer='"+writer+"',translator='"+translator+"',publisher='"publisher,date='"+date+"',price="+price+"wherebook_id='"+book_id+"'";iBusinessexecuteUpdatesql執(zhí)行更新ionentStackTrace}Businessclose//關(guān)閉連接對(duì)象returni記錄數(shù)}注釋:通過此界面來對(duì)數(shù)據(jù)庫中的顧客信息進(jìn)行添加。關(guān)鍵代碼如下:publicstaticintInsertReaderStringname,Stringsex,Stringage,StringidentityCard,Stringtel,Stringreaderid{intitringsqlinsertintoreaderreaderidknamesexageidentityCardtelvalues"+reader_id+"','"+name+"','"+sex+"','"+age+"','"+identityCard+"','"+tel+"')";printlnsqlusinessexecuteUpdatesqlionentStackTrace}Businesscloseurni}注釋:通過此界面來對(duì)數(shù)據(jù)庫中的顧客信息進(jìn)行修改。關(guān)鍵代碼如下:publicstaticintUpdateReaderStringname,Stringsex,Stringage,StringidentityCard,StringtelStringreader_id){intisqlupdatereadersetkname"+name+"',sex='"+sex+"',age='"+age+"',identityCard='"+identityCard+"',tel='"+tel+"'wherereaderid'"+reader_id+"'";usinessexecuteUpdatesqlionentStackTrace}Businesscloseurni}注釋:以上兩個(gè)界面實(shí)現(xiàn)圖書信息的顯示和圖書信息的模糊搜索。關(guān)鍵代碼如下:publicstaticListselectBookInfo){ListlistnewArrayList;Stringsql="select*frombookinfo";ResultSetrsBusiness.executeQuery(sql);try{while(rs.next()){BookInfobookinfonewBookInfo);bookinfo.setBook_id(rs.getString("book_id"));bookinfo.setTypeid(rs.getString("typeid"));bookinfo.setBookname(rs.getString("bookname"));bookinfo.setWriter(rs.getString("writer"));bookinfo.setTranslator(rs.getString("translator"));bookinfo.setPublisher(rs.getString("publisher"));bookinfo.setDate(rs.getDate("date"));bookinfo.setPrice(rs.getDouble("price"));bookinfo.setInsum(rs.getInt("insum"));/////庫存量list.add(bookinfo);}}catch(Exceptione){ntStackTrace}Businessclosenlist}publicstaticListselectbookmohuStringbookname){ListlistnewArrayList;Stringsqlselectfrombookinfowherebooknamelike+bookname+"%'";printsqlResultSetsBusinessexecuteQuerysql);try{whilesnext()){BookInfobookinfonewBookInfo);bookinfo.setBook_id(s.getString(1));bookinfo.setTypeid(s.getString(2));bookinfo.setBookname(s.getString(3));bookinfo.setWriter(s.getString(4));bookinfo.setTranslator(s.getString(5));bookinfo.setPublisher(s.getString(6));bookinfo.setDate(s.getDate(7));bookinfo.setPrice(s.getDouble(8));bookinfo.setInsum(s.getInt("insum"));/////庫存量list.add(bookinfo);}}catch(SQLExceptione){//TODO自動(dòng)生成catch塊ntStackTrace}nlist}注釋:此界面實(shí)現(xiàn)圖書銷售。關(guān)鍵代碼如下:classbookISBNListenerlostFocusextendsKeyAdapter{publicvoidkeyTyped(KeyEvente){if(e.getKeyChar()=='\n'){//判斷在文本框是否輸入回車。if(readerISBN.getText().trim().length()!=0&&bookISBN.getText().trim().length()!=0){ingISBNsbookISBNgetTexttrimListlistBusinessselectBookInfo(ISBNs);for(inti=0;i<list.size();i++){BookInfobook(BookInfo)list.get(i);bookName.setText(book.getBookname());bookType.setText(String.valueOf(map.get(bookdprice.setText(String.valueOf(book.getPrice()));numbersetTextString.valueOf(book.getInsum()));//-------------------------------}//Stringdays="0";//////////////ListlistBusiness.selectBookCategory(bookType.getText()for(intj=0;j<list2.size();j++){BookTypetype(BookType)list2.get(j);daystypegetDays}ingreaderISBNsreaderISBNgetTexttrimListlistBusiness.selectReader(readerISBNs);//此讀者是否在tb_readerListlistBusiness.selectBookInfo(ISBNs);//此書是否在tb_bookInfo表中if(!readerISBNs.isEmpty()&&list5.isEmpty()){ptionPaneshowMessageDialognullreturn;}if(list4.isEmpty()&&!ISBNs.isEmpty()){ptionPaneshowMessageDialognull;return;}ifInteger.parseInt(number.getText().trim())<=0)---return;}number.setText(String.valueOf(Integer.parseInt(numbergetTexttrim));}}}}classISBNListenerlostFocusextendsKeyAdapter{publicvoidkeyTyped(KeyEvente){if(e.getKeyChar()=='\n'){//判斷在文本框是否輸入回車。ingISBNsreaderISBNgetTexttrimListlistBusiness.selectReader(ISBNs);if(list.isEmpty()&&!ISBNs.isEmpty()){ptionPaneshowMessageDialognull}for(inti=0;i<list.size();i++){Readerreader(Reader)list.get(i);readerNamesetTextreader.getName());//keepMoney.setText(reader.getKeepMoney()+"");/System.out.println("讀者可借書量"+number.getText().trim());}}}}classBorrowActionListenerimplementsActionListener{publicvoidactionPerformed(finalActionEvente){ingbookISBNsbookISBNgetTexttrimingreaderISBNsreaderISBNgetTexttrimingbookNamesbookNamegetTexttrimoperatorIdusergetId/Stringnum=table.getRowCount()+"";tringbuyDatemyfmtformatnewjavautilDate/StringbackDate=myfmt.format(getBackTime());/System.out.println(borrowDate);/System.out.println(java.sql.Timestamp.valueOf(backDate));intiBusinessInsertBookBorrow(bookISBNs,readerISBNsjavasql.Timestamp.valueOf(buyDate),bookNames);if(i==1){faultCloseAction}}}classClearActionListenerimplementsActionListener{privatefinalDefaultTableModelmodel;ClearActionListener(Defa

溫馨提示

  • 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)論