




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上書店管理系統(tǒng)的設(shè)計與實現(xiàn)書籍銷售管理模塊學(xué)生姓名: 指導(dǎo)老師:摘 要 本課程設(shè)計主要解決書店的管理問題,設(shè)計開發(fā)一個簡單的書店管理系統(tǒng) ,實現(xiàn)分類登陸,書籍管理,倉庫庫存管理,會員管理以及各種查詢等功能。在課程設(shè)計中,系統(tǒng)開發(fā)平臺為Windows 7,程序設(shè)計語言采用Java,數(shù)據(jù)庫采用Oracle Database 11g Express Edition,程序運行平臺為Windows 7。程序通過調(diào)試運行,初步實現(xiàn)了設(shè)計目標(biāo),并且經(jīng)過適當(dāng)完善后,將可以應(yīng)用在普通書店的管理中,解決實際問題。關(guān)鍵詞 書店管理系統(tǒng);數(shù)據(jù)庫;Java目 錄1 引言11.1課題背景11.2課
2、程設(shè)計目的11.3課程設(shè)計任務(wù)22 系統(tǒng)結(jié)構(gòu)分析32.1需求分析32.2 功能模塊圖43 系統(tǒng)數(shù)據(jù)庫設(shè)計63.1 概念結(jié)構(gòu)設(shè)計63.2邏輯結(jié)構(gòu)設(shè)計73.3數(shù)據(jù)庫表的建立84 系統(tǒng)實現(xiàn)94.1 數(shù)據(jù)庫的連接94.2 系統(tǒng)功能模塊設(shè)置105 系統(tǒng)測試方案和測試報告125.1測試方案125.2測試過程126 結(jié)束語17參考文獻18附錄:部分程序代碼19專心-專注-專業(yè)1 引言1.1課題背景隨著科學(xué)技術(shù)的不斷發(fā)展,電子技術(shù)悄無聲息地走進了我們生活的各個角落,無時無刻的不在影響和改善著我們生活的各個方面。同時,越來越多的人開始意識到計算機技術(shù)在日常生活中所起到的重大作用。如今,隨著書店規(guī)模的不斷擴大,書
3、籍種類和數(shù)量的不斷增加,使得人工管理模式的局限性越發(fā)突出。因此,利用計算機技術(shù)來優(yōu)化書店管理具有重大的實際意義。計算機信息管理技術(shù)的應(yīng)用,除了能在相當(dāng)大的程度上代替人工作業(yè),從而減少人員工作量,減輕工作負擔(dān),減少工作中因人為原因而產(chǎn)生的錯誤從而避免不必要的損失外,更重要的是能建立準(zhǔn)確暢通、簡便的信息流通渠道,為工作提供所需要的準(zhǔn)確、及時的信息以幫助做出正確而及時的選擇與決定,從而給采用這門技術(shù)的單位帶來了巨大的可見或不可見的利益與效益。1.2課程設(shè)計目的一個業(yè)績好的書店每天都會銷售出大量書籍,使用書店信息管理系統(tǒng)可以大大提高工作效率,減少工作中不必要的失誤。與此同時,通過書店管理系統(tǒng),我們可以
4、知曉書籍的銷售情況,從而進一步總結(jié)出哪些書籍最為暢銷,而哪些書籍鮮有人問津,通過對銷售狀況的總結(jié),我們就能夠知道需要大量購進哪些書籍,以便獲得更大的經(jīng)濟效益。而且,通過書店管理系統(tǒng),我們可以對一些常來書店購書的客戶實行適當(dāng)?shù)臅T優(yōu)惠,以留住一部分客戶群體進行長期的合作,這樣書店就能獲取相當(dāng)可觀的經(jīng)濟效益。本論文旨在論述書店管理系統(tǒng)的設(shè)計與開發(fā)。通過書店管理系統(tǒng)的設(shè)計,熟練掌握Java、Oracle Database 10g Express Edition等工具軟件,系統(tǒng)地掌握需求分析、數(shù)據(jù)庫設(shè)計、編碼實現(xiàn)、測試等軟件開發(fā)的流程,提高自身分析問題、解決問題的能力。1.3課程設(shè)計任務(wù)本課程設(shè)計任務(wù)
5、是通過開發(fā)一個數(shù)據(jù)庫書店管理系統(tǒng),學(xué)習(xí)數(shù)據(jù)庫系統(tǒng)的設(shè)計與開發(fā),采用JAVA和Oracle Database 11g Express Edition等軟件為開發(fā)工具。通過對計算機硬件和軟件解決方案的論證,對應(yīng)用領(lǐng)域進行調(diào)查分析,參考各種資料和進行數(shù)據(jù)庫系統(tǒng)開發(fā)實踐。在指導(dǎo)老師的幫助下,已經(jīng)基本上成功地實現(xiàn)了設(shè)計任務(wù)書的要求,使得設(shè)計的數(shù)據(jù)庫系統(tǒng)能夠?qū)崿F(xiàn)一般數(shù)據(jù)庫的管理。2 系統(tǒng)結(jié)構(gòu)分析2.1需求分析書店管理系統(tǒng)是適應(yīng)時代發(fā)展的需要,提高管理的效率而開發(fā)設(shè)計的。通過對信息的收集、存儲、傳遞、統(tǒng)計、分析、綜合查詢、報表輸出和信息共享,及時為書店管理人員提供全面、準(zhǔn)確的各種數(shù)據(jù)。實現(xiàn)了書店管理的簡單化
6、和規(guī)劃化,提高了書店的工作效率,從而使書店能夠以少的投入獲得更好的社會效益與經(jīng)濟效益。經(jīng)過綜合分析,確定了書店管理系統(tǒng)的主要包括以下功能:(1). 書籍信息管理功能系統(tǒng)設(shè)置包括書籍編號設(shè)置、書籍名稱設(shè)置、書籍作者設(shè)置、出版社設(shè)置、書籍進價、書籍售價和書籍?dāng)?shù)量。基本信息管理模塊可以實現(xiàn)添加和重置書籍信息功能:。(2). 會員信息管理功能系統(tǒng)設(shè)置包括會員編號設(shè)置、會員姓名設(shè)置、會員等級設(shè)置、會員折扣設(shè)置和會員累計消費?;拘畔⒐芾砟K可以實現(xiàn)查詢和刪除會員信息功能。(3). 賬單信息管理功能 系統(tǒng)設(shè)置包括會員姓名設(shè)置和當(dāng)前消費金額設(shè)置。通過此模塊能基本實現(xiàn)修改會員信息功能。2.2 功能模塊圖1.
7、根據(jù)上述的功能,可以設(shè)計出系統(tǒng)的總體功能模塊,如圖2.1所示。會員信息管理書店管理系統(tǒng)賬單信息管理書籍信息管理圖2.1 書店管理系統(tǒng)功能模塊示意圖2.“書籍信息管理”功能模塊用于書籍編號設(shè)置、書籍名稱設(shè)置、書籍作者設(shè)置、出版社設(shè)置、書籍進價、書籍售價和書籍?dāng)?shù)量,其功能模塊如圖2.2所示。書籍信息管理書籍編號管理書籍?dāng)?shù)量管理出版社管理書籍進價管理書籍名稱管理書籍作者管理書籍售價管理圖2.2 書籍管理信息設(shè)置3 “會員信息管理”功能模塊用于會員編號設(shè)置、會員姓名設(shè)置、會員等級設(shè)置、會員折扣設(shè)置和累計消費設(shè)置,其功能模塊如圖2.3所示。會員信息設(shè)置會員編號管理會員等級管理會員折扣管理會員姓名管理累計
8、消費管理 圖2.3 會員信息管理4 “賬單信息管理”功能模塊用于會員姓名設(shè)置和當(dāng)前消費金額設(shè)置,其功能模塊如圖2.4所示。會員姓名管理當(dāng)前消費金額管理賬單信息管理 圖2.4 賬單信息管理3 系統(tǒng)數(shù)據(jù)庫設(shè)計3.1 概念結(jié)構(gòu)設(shè)計根據(jù)需求分析抽象出信息結(jié)構(gòu),可得該系統(tǒng)的E-R圖。(1)書籍管理E-R圖,如圖3.1所示。售價進價出版社作者名稱編號書籍?dāng)?shù)量圖3.1 書籍管理E-R圖(2)會員管理E-R圖,如圖3.2所示。會員姓名等級折扣編號消費圖3.2 會員管理E-R圖(3)賬單管理E-R圖,如圖3.3所示。當(dāng)前消費賬單會員姓名圖3.3 賬單管理E-R圖3.2邏輯結(jié)構(gòu)設(shè)計根據(jù)上述的概念結(jié)構(gòu)設(shè)計出邏輯結(jié)構(gòu)
9、,將E-R圖轉(zhuǎn)換為關(guān)系模型。數(shù)據(jù)庫Book包含以下5個表:書籍信息表book、會員信息表member 、賬單信息表bill。(1) 書籍信息表book 訂單信息表book用來保存書籍編號、書籍名稱、書籍作者、書籍出版社、書籍進價、書籍售價和數(shù)量等信息。表book 的結(jié)構(gòu)如表3-1所示。 表3-1 表book的結(jié)構(gòu)編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明1Book_idVarchar2(10)記錄書籍編號2Book_nameVarchar2(20)記錄書籍名稱3Book_authorVarchar2(20)記錄書籍作者4Book_pressVarchar2(20)記錄出版社5Book_sale_priceNum
10、ber(10)記錄書籍售價6Book_purchase_priceNumber(10)記錄書籍進價7Book_amountNumber(10)記錄書籍庫存數(shù)量 通過對上面表的分析,查找等操作,所有模式都符合3NF。前面是通過前臺來實現(xiàn)系統(tǒng)安全性的,我們也可以對數(shù)據(jù)庫進行身份驗證,可以從服務(wù)器角度建一個登錄名,使得不同的服務(wù)器角色擁有不同的權(quán)限,從而實現(xiàn)對數(shù)據(jù)庫的不同權(quán)限的管理,以此來增強書店管理系統(tǒng)的安全性。3.3數(shù)據(jù)庫表的建立在設(shè)計數(shù)據(jù)庫表結(jié)構(gòu)之前,首先要創(chuàng)建一個數(shù)據(jù)庫。本系統(tǒng)使用的數(shù)據(jù)庫為Book。可以在企業(yè)管理器中創(chuàng)建數(shù)據(jù)庫,也可以在查詢分析器中執(zhí)行以下TransactSQl語句:(1)
11、 創(chuàng)建表Book CREATE TABLE BOOK (BOOK_ID NUMBER(10), BOOK_NAME VARCHAR2(20), BOOK_AUTHOR VARCHAR2(20), BOOK_PRESS VARCHAR2(20), BOOK_SALE_PRICE NUMBER(10), BOOK_AMOUNT NUMBER(10), BOOK_PURCHASE_PRICE NUMBER(10) ) (2) 創(chuàng)建表Bookid CREATE TABLE BOOKID (BOOK_ID NUMBER(10) )(3) 創(chuàng)建表memberCREATE TABLE MEMBER (MEM
12、BER_ID NUMBER(10) NOT NULL ENABLE, MEMBER_NAME VARCHAR2(20) NOT NULL ENABLE, MEMBER_LEVEL NUMBER(20) NOT NULL ENABLE, MEMBER_REBATE FLOAT(2) DEFAULT 0.9 NOT NULL ENABLE, MEMBER_CONSUMPTION FLOAT(126) NOT NULL ENABLE )(4) 創(chuàng)建表bill CREATE TABLE BILL (MEMBER_NAME VARCHAR2(10), MONEY NUMBER(10) )4 系統(tǒng)實現(xiàn)4.
13、1 數(shù)據(jù)庫的連接在該系統(tǒng)中使用的數(shù)據(jù)庫是Oracle Database 11g Express Edition??蛻舳瞬捎玫氖荘L/SQL Developer。Java運行環(huán)境為Eclipse Indigo。在安裝好了軟件之后,數(shù)據(jù)庫的連接設(shè)置在Eclipse里的Properties功能鍵中。 如圖4.1所示圖4.1 數(shù)據(jù)庫連接在Java Build Path中的Libraries中,運行Add External JARs找到classes12.jar并添加,則此時已將數(shù)據(jù)庫和Java程序成功連接。 4.2 系統(tǒng)功能模塊設(shè)置(1) 設(shè)計書籍銷售管理界面書籍銷售管理界面可以用來查詢書籍、將選定書
14、籍加入購買目錄和賬單結(jié)算。創(chuàng)建一個選項卡面板,將其命名為OprationInfoPanel。選項卡面板的布局如圖4.2所示。圖4.2 面板OprationInfoPanel的布局面板啟動,當(dāng)你點擊查找功能鍵時,則會出現(xiàn)要查詢的書籍信息,此時你可以實現(xiàn)將選定書籍加入購買目錄。當(dāng)用戶單擊“查詢”按鈕時,將執(zhí)行findDao(String bookName)函數(shù),通過模糊查詢檢索出相關(guān)書籍信息;當(dāng)用戶單擊“加入購買目錄”按鈕時,將執(zhí)行addShoppingCart(int bookId)函數(shù),系統(tǒng)將會自動加選定書籍添加到購買目錄中并在顯示出來;當(dāng)用戶單擊“賬單結(jié)算”按鈕時,將執(zhí)行new BillDi
15、alog(float money),彈出賬單結(jié)算對話框。(2) 設(shè)計賬單結(jié)算管理對話框賬單結(jié)算管理對話框可以用來結(jié)算賬單信息。添加一個對話框,將其命名為BillDialog。對話框的布局如圖4.3所示。圖4.3 對話框BillDialog的布局對話框啟動,輸入相關(guān)信息,當(dāng)你點擊“確認賬單”時,將執(zhí)行confirmBillDao(String memberName)函數(shù),則會顯示根據(jù)數(shù)據(jù)庫所計算出客戶所需支付金額,當(dāng)點擊“提交賬單”時,將執(zhí)行submitOrdersDao(OrderVo vo)函數(shù),系統(tǒng)自動將本次交易的金額存入會員信息中,以便會員升級和下次調(diào)用會員信息。5 系統(tǒng)測試方案和測試報
16、告5.1測試方案由于系統(tǒng)規(guī)模較小,所以沒有安排單獨的白盒測試,而是相應(yīng)地將這部分測試歸并到系統(tǒng)編碼過程中。整個測試過程基于自頂向下測試的組裝模塊的方法,先對主模塊進行基本測試,然后在按深度優(yōu)先策略逐一將子模塊組裝到主模塊上進行測試,最后再對系統(tǒng)進行全面的整體測試。5.2測試過程(1)書籍銷售管理主界面測試運行程序,登錄成功后進入書籍銷售管理界面,如圖5.1所示:圖5.1 書籍銷售管理界面(2)書籍查詢功能測試輸入書籍名稱可查詢到自己想要的書籍信息,本查詢?yōu)槟:樵?,會顯示包含所輸入字符所有書籍,如圖5.2所示:圖5.2 模糊查詢顯示出的書籍分五本為一頁,通過點擊“上頁”和“下頁”按鈕可以查詢其
17、他頁碼的書籍,如圖5.3和5.4所示:圖5.3 分頁顯示查詢結(jié)果(a)圖5.4 分頁顯示查詢結(jié)果(b)(3)選擇書籍并加入購買目錄功能測試選擇查詢出的一條數(shù)據(jù),并單擊加入購物車按鈕,將自動把選中書籍添加到購買目錄中,如圖5.5所示:圖5.5 添加書籍至購買目錄(4)訂單管理功能測試移除書籍:選定購買目錄中的一本書,點擊“移除”按鈕,將自動把所選書籍從購買目錄中移除,如圖5.6所示:圖5.6 移除書籍賬單結(jié)算:點擊“賬單結(jié)算”,按鈕,將自動彈出一個賬單結(jié)算窗口,“訂單查詢”,如圖5.7所示:圖5.7 賬單結(jié)算界面輸入會員名稱和實付金額,點擊確認賬單,將自動計算根據(jù)會員折扣后所需找零金額,如圖5.
18、8所示:圖5.8 賬單結(jié)算功能點擊“提交賬單”,將提示賬單提交成功,將會吧數(shù)據(jù)傳到數(shù)據(jù)庫,并對相應(yīng)的數(shù)據(jù)進行處理,如圖5.9所示:圖5.9 提交賬單6 結(jié)束語本系統(tǒng)完成了一個書店管理系統(tǒng)的基本功能,包括書籍銷售管理、庫存管理、會員管理等。我們小組將該系統(tǒng)分為三大模塊,分別由三位小組成員負責(zé),最后再一起匯總,經(jīng)過不斷的調(diào)試,所有功能經(jīng)過測試均能夠正確運行,操作簡便,界面友好。通過小組合作完成本次課程設(shè)計,我對數(shù)據(jù)庫這門課程有了更加深刻的理解,同時也能熟練的運用eclipse來編寫較為簡單的java程序,并且也使得自己在對系統(tǒng)數(shù)據(jù)庫的分析、設(shè)計有更深刻的了解。我們在各自編寫程序中遇到了很多問題,通
19、過查閱相關(guān)資料,問題得到了解決,同時也學(xué)到了一定的java編程知識。另外,通過運用JDBC數(shù)據(jù)庫連接技術(shù),我對java數(shù)據(jù)庫編程技術(shù)也有了一定的了解和認識,希望通過以后的學(xué)習(xí)繼續(xù)加深這方面知識的掌握。參考文獻1王汝傳.計算機圖形學(xué)M.北京:人民郵電出版社,1999:123130.2劉榴娣,劉明奇,黨長民.實用數(shù)字圖像處理M.北京:北京理工大學(xué)出版,2000:1225.3 李彥,韓光林,李玉波. SQL SERVE完全自學(xué)手冊M. 北京:電子工業(yè)出版社,20074 薩師煊,王珊. 數(shù)據(jù)庫系統(tǒng)概論. 北京:高等教育出版社. 2005附錄:部分程序代碼/ 程序名稱: MainFrame.java/
20、程序功能:主界面/ 程序作者:漆盛/ 最后修改日期:2013-09-26package .view;import java.awt.BorderLayout;import javax.swing.JFrame;import javax.swing.JTabbedPane;import .view.panel.MemberInfoPanel;import .view.panel.OprationInfoPanel;import .view.panel.WarehouseInfoPanel;public class MainFrame extends JFrame private static f
21、inal long serialVersionUID = 1L;private JTabbedPane tab;private boolean flag;public MainFrame(boolean flag)this.flag=flag;init();private void init()this.add(createTab(),BorderLayout.CENTER);this.setTitle("書店管理系統(tǒng)");this.setSize(1000, 700);this.setLocationRelativeTo(null);this.setDefaultClos
22、eOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);this.setResizable(false);private JTabbedPane createTab() if(tab=null)tab=new JTabbedPane();tab.add("書籍銷售管理",new OprationInfoPanel();if(flag)tab.add("倉庫庫存管理",new WarehouseInfoPanel();tab.add("會員信息管理",new MemberInfoPa
23、nel();return tab;/*書籍銷售管理選項卡面板*/package .view.panel;import java.util.Vector;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.JTextField;import javax.swing.table.DefaultTableModel;import .action.
24、OprationInfoPanelAction;import .vo.BookVo;import .vo.PageVo;public class OprationInfoPanel extends JPanel private static final long serialVersionUID = 1L;SuppressWarnings("rawtypes")private Vector title = new Vector();SuppressWarnings("rawtypes")private Vector title1 = new Vector
25、();private JScrollPane scroll;private DefaultTableModel model;private DefaultTableModel model1;private JTable table;private JTable cartTable;private OprationInfoPanelAction action = new OprationInfoPanelAction(this);private JTextField bookName = new JTextField(10);private int row = -1;private BookVo
26、 vo;private int rows = -1;private JPanel createOprationPanel;private JPanel createCartPanel;private JTextField pageText = new JTextField(2);private PageVo pageVo;private JPanel pagePanel;private JLabel cartName = new JLabel("購買目錄");private JScrollPane cartScroll;private int cartRow;public
27、OprationInfoPanel() init();private void init() this.setLayout(null);this.add(createOprationPanel();createOprationPanel.setBounds(0, 0, 1000, 40);this.add(createScroll();scroll.setBounds(0, 45, 1000, 125);this.add(createPagePanel();pagePanel.setBounds(0, 170, 1000, 40);this.add(cartName);cartName.set
28、Bounds(0, 200, 80, 40);this.add(createCartScroll();cartScroll.setBounds(0, 240, 1000, 250);this.add(createCartPanel();createCartPanel.setBounds(0, 490, 1000, 50);private JPanel createPagePanel() if (pagePanel = null) pagePanel = new JPanel();pagePanel.add(createBut("首頁");pagePanel.add(crea
29、teBut("上頁");pagePanel.add(new JLabel("第");pagePanel.add(pageText);pagePanel.add(new JLabel("頁");pageText.setEditable(false);pagePanel.add(createBut("下頁");pagePanel.add(createBut("末頁");return pagePanel;private JPanel createOprationPanel() if (createOp
30、rationPanel = null) createOprationPanel = new JPanel();createOprationPanel.add(new JLabel("書籍名稱:");createOprationPanel.add(bookName);createOprationPanel.add(createBut("查詢");createOprationPanel.add(createBut("加入購買目錄");return createOprationPanel;private JPanel createCartP
31、anel() if (createCartPanel = null) createCartPanel = new JPanel();createCartPanel.add(createBut("刷新");createCartPanel.add(createBut("移除");createCartPanel.add(createBut("賬單結(jié)算");return createCartPanel;private JScrollPane createScroll() if (scroll = null) scroll = new JScr
32、ollPane(createTable();return scroll;private JScrollPane createCartScroll() if (cartScroll = null) cartScroll = new JScrollPane(createCartTable();return cartScroll;SuppressWarnings("unchecked")private JTable createTable() title.add("書籍編號");title.add("書籍名稱");title.add(&qu
33、ot;作者");title.add("出版社");title.add("價格");model = new DefaultTableModel(title, 0);if (table = null) table = new JTable(model);return table;SuppressWarnings("unchecked")private JTable createCartTable() title1.add("書籍編號");title1.add("書籍名稱");title1.
34、add("作者");title1.add("出版社");title1.add("價格");title1.add("數(shù)量");model1 = new DefaultTableModel(title1, 0);if (cartTable = null) cartTable = new JTable(model1);return cartTable;private JButton createBut(String butName) JButton but = new JButton(butName);but.addAc
35、tionListener(action);return but;public String getBookName() return bookName.getText();public BookVo setBookVo() row = table.getSelectedRow();if (row != rows) vo = null;if (vo = null) rows = row;vo = new BookVo(Integer.parseInt(table.getValueAt(row, 0).toString(), table.getValueAt(row, 1).toString(),
36、 table.getValueAt(row, 2).toString(), table.getValueAt(row, 3).toString(), Integer.parseInt(table.getValueAt(row, 4).toString();return vo;SuppressWarnings("rawtypes")public void setModel(Vector rowData) model.setDataVector(rowData, title);SuppressWarnings("rawtypes")public void s
37、etModel1(Vector rowData) model1.setDataVector(rowData, title1);public int getBookId() int bookId = 0;row = table.getSelectedRow();bookId = Integer.parseInt(table.getValueAt(row, 0).toString();return bookId;public int getCartBookId() int bookId = 0;cartRow = cartTable.getSelectedRow();bookId = Intege
38、r.parseInt(cartTable.getValueAt(cartRow, 0).toString();return bookId;public PageVo getPageVo() if (pageVo = null) pageVo = new PageVo();return pageVo;public void setPageText(String page) pageText.setText(page);public void removeRow() cartRow = cartTable.getSelectedRow();model1.removeRow(cartRow);/*按
39、鈕事件監(jiān)聽*/package .action;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Vector;import javax.swing.JOptionPane;import .dao.BookDao;import .dao.PageDao;import .view.dialog.BillDialog;import .view.panel.OprationInfoPanel;public class OprationInfoPanelAction implem
40、ents ActionListener private OprationInfoPanel panel;public OprationInfoPanelAction(OprationInfoPanel panel) this.panel=panel;SuppressWarnings( "rawtypes" )Ocerridepublic void actionPerformed(ActionEvent e) String butName=e.getActionCommand();BookDao dao=new BookDao();PageDao pageDao = new
41、PageDao();if(butName.equals("查詢")Vector rowData =new Vector();rowData=dao.findDao(panel.getBookName();panel.getPageVo().changePageVo(1, 1, 5);panel.setPageText(Integer.toString(1);panel.setModel(rowData);else if(butName.equals("加入購買目錄")Vector rowData;rowData=dao.addShoppingCart(p
42、anel.getBookId();panel.setModel1(rowData);else if(butName.equals("刷新")Vector rowData1;rowData1=dao.refreshCart();panel.setModel1(rowData1);else if(butName.equals("移除")boolean flag;flag = dao.delBookInfo(panel.getCartBookId();if (flag) panel.removeRow();JOptionPane.showMessageDial
43、og(null, "移除成功!", "移除成功",JOptionPane.OK_CANCEL_OPTION); else if(butName.equals("賬單結(jié)算")int i = JOptionPane.showConfirmDialog(null, "是否結(jié)算", "賬單結(jié)算",JOptionPane.YES_NO_OPTION);if (i = 0) new BillDialog(dao.cartInfoDao(); elseVector rowData = pageDao.book
44、PageDao(butName, panel.getBookName(),panel.getPageVo();panel.setPageText(Integer.toString(panel.getPageVo().getStartLine() / 5 + 1);panel.setModel(rowData);/*數(shù)據(jù)庫操作代碼*/SuppressWarnings( "rawtypes", "unchecked" )public Vector findDao(String bookName) Vector rowData = new Vector();t
45、ry Class.forName("oracle.jdbc.driver.OracleDriver");Connection con = DriverManager.getConnection("jdbc:oracle:thin:127.0.0.1:1521:orcl", "scott", "tiger");String sql = "select * from (select e.*,rownum num from book e where e.book_name like '%"+
46、bookName + "%') a where a.num between 1 and 5"Statement st = con.createStatement();ResultSet rs = st.executeQuery(sql);while (rs.next() Vector row = new Vector();row.add(rs.getInt("book_id");row.add(rs.getString("book_name");row.add(rs.getString("book_author&qu
47、ot;);row.add(rs.getString("book_press");row.add(rs.getInt("book_sale_price");rowData.add(row); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace();return rowData;SuppressWarnings( "unchecked", "rawtypes" )public Vec
48、tor refreshCart() Vector rowData = new Vector();try Class.forName("oracle.jdbc.driver.OracleDriver");Connection con = DriverManager.getConnection("jdbc:oracle:thin:127.0.0.1:1521:orcl", "scott", "tiger");Statement st = con.createStatement();String sql = "
49、select *from book,bookId where book.book_id=bookId.book_id"ResultSet rs = st.executeQuery(sql);while (rs.next() Vector row = new Vector();row.add(rs.getInt("book_id");row.add(rs.getString("book_name");row.add(rs.getString("book_author");row.add(rs.getString("b
50、ook_press");row.add(rs.getInt("book_sale_price");row.add(1);rowData.add(row); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace();return rowData;SuppressWarnings( "rawtypes", "unchecked" )public Vector addShoppingCart(in
51、t bookId) Vector rowData = new Vector();try Class.forName("oracle.jdbc.driver.OracleDriver");Connection con = DriverManager.getConnection("jdbc:oracle:thin:127.0.0.1:1521:orcl", "scott", "tiger");Statement st = con.createStatement();String sql1 = "insert
52、into bookId values(" + bookId + ")"st.executeUpdate(sql1);String sql = "select *from book,bookId where book.book_id=bookId.book_id"ResultSet rs = st.executeQuery(sql);while (rs.next() Vector row = new Vector();row.add(rs.getInt("book_id");row.add(rs.getString("
53、;book_name");row.add(rs.getString("book_author");row.add(rs.getString("book_press");row.add(rs.getInt("book_sale_price");row.add(1);rowData.add(row); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace();return rowData;public boolean delBookInfo(int bookId) boolean flag = false;try Class.forName("oracle.jdbc.driver.OracleDriver");Connection con = DriverManager.getConnection("jdbc:oracle:thin:127.0.0.1:1521:orcl", "scott", "tiger");State
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車輛股權(quán)轉(zhuǎn)讓與改裝升級服務(wù)合同
- 出租車司機聘用及服務(wù)質(zhì)量保障合同
- 項目中止后采購合同數(shù)量變更及取消協(xié)議
- 老妖精咨詢工程師課件
- 美術(shù)紅色文化課件設(shè)計
- 安全生產(chǎn)方針五要素
- 物業(yè)消防工作計劃
- 安全生產(chǎn)管理制度及處罰條例
- 水電安全操作規(guī)程
- 安全生產(chǎn)提升活動總結(jié)
- 小學(xué)科學(xué)學(xué)科建設(shè)方案
- 四川省達州市2024年數(shù)學(xué)八年級下冊期末聯(lián)考試題含解析
- 創(chuàng)維電視電子說明書
- (2024年)污水處理設(shè)備培訓(xùn)方案
- 外貿(mào)專業(yè)知識培訓(xùn)
- 環(huán)保法規(guī)與政策培訓(xùn)
- 2024年湖南開放大學(xué)《商務(wù)談判實務(wù)》課程參考試題庫(含答案)
- 快速康復(fù)外科理念ERAS與圍手術(shù)期護理
- 教師招聘公共基礎(chǔ)知識(教育學(xué)、心理學(xué)-教育法規(guī))試題
- 藥店風(fēng)險管理和安全防控
- 貴陽市南明區(qū)2024年事業(yè)單位考試《公共基礎(chǔ)知識》統(tǒng)考試題含解析
評論
0/150
提交評論