超市管理系統(tǒng)02551_第1頁
超市管理系統(tǒng)02551_第2頁
超市管理系統(tǒng)02551_第3頁
超市管理系統(tǒng)02551_第4頁
超市管理系統(tǒng)02551_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件工程課程設計報告( 2014 - 2015 年度第 一 學期)課程名稱: 軟件工程課程設計 題 目: 小型超市管理系統(tǒng) 院 系:計算機與信息技術學院班 級: 軟件工程 組 號: 組 長: 洛佳琪 組 員:劉雅、劉一清、王雪瑤指導教師: 楊陟卓 設計周數(shù): 4周 小組成績: 日期:2014 年 8月26日軟件工程課程設計任務書一、目的、要求通過軟件開發(fā)的實踐訓練,進一步掌握軟件工程的方法和技術,提高軟件開發(fā)的實際能力,培養(yǎng)工程設計能力和綜合分析、解決問題的能力。具體如下:l 學習和實踐在分析和設計計算機應用系統(tǒng)所需要的知識,包括面向對象的系統(tǒng)分析與設計,編碼和測試方面的知識;l 熟悉自動化的

2、軟件開發(fā)工具Rational Rose 2003等,并將其運用于軟件開發(fā)的全過程;l 進一步加強和提高軟件工程文檔的編寫能力;l 培養(yǎng)協(xié)作能力和團隊精神。二、任務分配任務負責人參與人備注需求分析洛佳琪洛佳琪總體設計劉一清洛佳琪,劉雅,劉一清詳細設計劉雅洛佳琪,劉雅系統(tǒng)實現(xiàn)與測試王雪瑤洛佳琪,王雪瑤三、設計成果要求l 建立系統(tǒng)分析與設計模型;l 初步建立系統(tǒng)原型,實現(xiàn)關鍵的功能;l 編寫課程設計報告。指導教師:楊陟卓 日 期: 2014 年 8 月 26 日軟件工程課程設計成績評定一、 指導教師評語二、 成績學號姓名成績備注2012242058洛佳琪2012242054劉雅2012242055劉

3、一清2012242082王雪瑤 指導教師: 楊陟卓 日 期:2014 年 8 月 26 日摘要:本系統(tǒng)實現(xiàn)一個超市管理系統(tǒng)的基本功能,包括營業(yè)員進行商品錄入和收銀業(yè)務;超市經理對商品銷售進行控制,管理進貨事項和商品庫存;管理員對員工信息進行增、刪、改、查,管理員工操作權限,管理客戶銷售權限;顧客可以在銷售系統(tǒng)里查詢商品信息和會員積分。系統(tǒng)利用Java平臺技術進行開發(fā),實現(xiàn)超市管理系統(tǒng)的動態(tài)管理,使得對信息的管理更加及時、高效,提高了效率。同時還對系統(tǒng)的開發(fā)原理、功能特點和設計方案進行了介紹。關鍵詞:超市管理 數(shù)據(jù)庫 管理 Java1 課程設計的目的與要求通過軟件開發(fā)的實踐訓練,進一步掌握軟件工

4、程的方法和技術,提高軟件開發(fā)的實際能力,培養(yǎng)工程設計能力和綜合分析、解決問題的能力。具體如下:(1) 學習和實踐在分析和設計計算機應用系統(tǒng)所需要的知識,包括面向對象的系統(tǒng)分析與設計,編碼和測試方面的知識;(2) 熟悉自動化的軟件開發(fā)工具Rational Rose 2003,并將其運用于軟件開發(fā)的全過程;(3) 進一步加強和提高軟件工程文檔的編寫能力;(4) 培養(yǎng)協(xié)作能力和團隊精神。2 設計正文2.1 概述2. 1.1 課題題目:小型超市管理系統(tǒng)2. 1.2 系統(tǒng)的主要目標本系統(tǒng)目標是實現(xiàn)小型超市管理系統(tǒng)所需的各種基本功能,包括營業(yè)員商品錄入和收銀業(yè)務;超市經理商品銷售控制、管理進貨和商品庫存;

5、管理員對員工信息進行增、刪、改、查,管理員工操作權限,管理客戶銷售權限;顧客可以在銷售系統(tǒng)里查詢商品信息和會員積分等功能。2. 1.3 系統(tǒng)的開發(fā)環(huán)境及運行環(huán)境:操作系統(tǒng): Windows XP Pro SP2建模工具: Rational Rose 2003數(shù)據(jù)庫系統(tǒng):SQL Server2005開發(fā)工具: Eclipse2.2 系統(tǒng)需求分析小型超市管理系統(tǒng)主要滿足來自四方面的需求,這四個方面分別是營業(yè)員、超市經理、顧客和管理員,也即是四個對象。(1)營業(yè)員主要有商品錄入和收銀業(yè)務兩部分功能。商品錄入:根據(jù)超巿業(yè)務特點制定相關功能,可以通過輸入唯一編號、掃描條形碼、商品名稱等來實現(xiàn)精確或模糊的

6、商品掃描錄入。該掃描錄入方法可以充分保證各種電腦操作水平層次的人員均能準確快速地進行商品掃描錄入。收銀業(yè)務:通過掃描條形碼或者直接輸入商品名稱(對于同類多件商品采用一次錄入加數(shù)量的方式)自動計算本次交易的總金額。在顧客付款后,自動計算找零,同時打印交易清單(包括交易的流水賬號、每類商品的商品名、數(shù)量、該類商品的總金額、交易的時間、負責本次收銀的員工號)。如果顧客是本店會員并持有本人會員卡,則在交易前先掃描會員卡,并對所購物品全部實行95折優(yōu)惠,并將所購物品的總金額累計到該會員的總消費金額中。 會員卡的有效期限為一年,滿一年未續(xù)卡者,該會員卡將被注銷。(2)超市經理主要有商品銷售控制,進貨管理和

7、庫存管理三部分功能。銷售管理: 商品正常銷售、促銷與限量、限期及禁止銷售控制。 綜合查詢各種銷售明細記錄、各地收銀員收銀記錄以及交結賬情況等。 按多種方式統(tǒng)計生成銷售排行榜,靈活察看和打印商品銷售日、月、年報表。進貨管理: 根據(jù)銷售情況及庫存情況,自動制定進貨計劃(亦可手工制定修改),可以避免盲目進貨造成商品積壓。 按計劃單有選擇性地進行自動入庫登記。 綜合查詢打印計劃進貨與入庫記錄及金額。庫存管理: 綜合查詢庫存明細記錄。 庫存狀態(tài)自動告警提示。如庫存過剩、少貨、缺貨等。軟件為您預警,避免庫存商品積壓損失和缺貨。 庫存自動盤點計算。(3)管理員主要有基本信息管理和員工操作權限管理三部分?;?/p>

8、信息管理:對員工、會員信息進行增、刪、改、查。員工操作權限管理:一般員工只能登陸系統(tǒng)查看個人信息及簽到,其余權限受限制;營業(yè)員還可以登陸收銀系統(tǒng)。(4)會員主要有會員積分查詢。會員積分查詢:是會員的顧客查詢自己積分數(shù)并兌換相應禮品。2.1.1 用例圖 圖2-1 小型超市管理系統(tǒng)用例圖用例圖說明:(1) 系統(tǒng)的外部角色有:會員用戶、營業(yè)員用戶、員工用戶、超市經理和管理員。(2)系統(tǒng)主要用例的文檔描述:收銀業(yè)務用例:營業(yè)員用戶和顧客用戶可見的功能,包含了會員業(yè)務和結賬兩個用例功能。 員工操作權限管理用例:管理員用戶和員工用戶可見的功能,這個用例進一步分為三個用例:簽到權限用例、查詢個人信息權限用例

9、和登陸收銀系統(tǒng)權限用例?;拘畔⒐芾碛美汗芾韱T用戶可見的功能,實現(xiàn)員工、會員信息的管理功能,包含了員工基本信息管理和會員基本信息管理兩個用例。商品銷售控制用例:超市經理用戶可見的功能,實現(xiàn)商品銷售的控制功能,包含了正常銷售控制、促銷與限量、限期銷售控制、禁止銷售控制和查詢明細五個用例。進貨管理用例:超市經理用戶可見的功能,包含了自動制定進貨計劃、自動入庫登記、查詢計劃進貨和查詢入庫記錄及金額四個用例。庫存管理用例:超市經理用戶可見的功能,包含了自動盤點計算、查詢庫存明細、庫存狀態(tài)自動報警三個用例。(3)系統(tǒng)用例之間的關系:收銀業(yè)務用例與會員業(yè)務、結賬兩用例之間是包含關系。員工操作權限管理用例

10、與簽到權限、查詢個人信息權限和登陸收銀系統(tǒng)權限三用例之間是包含關系。基本信息管理用例與員工基本信息管理、會員基本信息管理兩個用例之間是包含關系。商品銷售控制用例與正常銷售控制、促銷與限量、限期銷售控制、禁止銷售控制和查詢明細五個用例之間是包含關系。進貨管理用例與自動制定進貨計劃、自動入庫登記、查詢計劃進貨和查詢入庫記錄及金額四個用例之間是包含關系。庫存管理用例與自動盤點計算、查詢庫存明細、庫存狀態(tài)自動報警三個用例之間是包含關系。(4) 系統(tǒng)關鍵用例的正常事件流圖和異常事件流圖 表2-1 結賬用例的正常事件流圖和異常事件流圖用例名稱結賬參與者營業(yè)員、顧客描述營業(yè)員、顧客結賬啟動點擊“結賬”按鈕前

11、置條件商品錄入完成主事件流用戶系統(tǒng)1.系統(tǒng)自動計算出商品價格2.顧客付款3.系統(tǒng)將價款和貨款比對后找零4.系統(tǒng)將實際收到價款打入超市賬戶中異常流異常流貨款無法進入超市賬戶系統(tǒng)貨款無法成功轉入超市賬戶,系統(tǒng)給出提示,要求重新進行轉入或要求管理員維修系統(tǒng)異常網絡連接超時或系統(tǒng)功能損壞 表2-2 進貨管理用例的正常事件流圖和異常事件流圖用例名稱進貨管理用例參與者超市經理用戶描述超市經理管理進貨事項啟動進入進貨管理界面前置條件用戶成功登錄后置條件如果該用例成功,數(shù)據(jù)庫中將增加商品信息。否則,系統(tǒng)維持現(xiàn)狀主事件流用戶系統(tǒng)1.用戶進入界面,登陸成功2.根據(jù)銷售情況單及庫存情況單,自動制定進貨計劃3.按計劃

12、有選擇性地進行自動入庫登記4.系統(tǒng)綜合查詢打印計劃進貨與入庫記錄及金額異常流異常流制定進貨計劃失敗系統(tǒng)銷售情況單及庫存情況單錯誤,系統(tǒng)給出錯誤提示,并要求進行修改后重新給出 2.2.2 類圖圖2-2 小型超市管理系統(tǒng)類圖類圖說明:(1)BaseUser類是一個系統(tǒng)角色用戶的基類,主要方法有兩個:modifyPWD() 用于修改用戶的密碼;loginCheck() 用于用戶登錄驗證。(2)Admin類繼承自BaseUser類。(3)Staff類繼承自BaseUser類,主要方法有:STAdd() 用于添加員工;STDel() 用于刪除員工;STUpdate() 用于更新員工信息;STSel()

13、用于查詢員工信息。(4)manager類繼承自BaseUser類,主要方法有:MAAdd() 用于添加經理;MADel() 用于刪除經理;MAUpdate() 用于更新經理信息;MASel() 用于查詢經理信息。(5)VIP Member類繼承自BaseUser類,主要方法有:VIPAdd() 用于添加經理;VIPDel() 用于刪除經理;VIPUpdate() 用于更新經理信息;VIPSel() 用于查詢經理信息。(6)Good類是一個商品類,主要方法有:GOAdd() 用于增加商品;GODel() 用于刪除商品。(7) Sell類是一個銷售類,主要方法有:GODel() 用于刪除商品。 (

14、8)Replenish類是一個進貨類,主要方法有: GOAdd() 用于增加商品。 (9)Stock類是一個庫存類,主要方法有: StockAdd()用于增加庫存量; StockDel()用于減少庫存量; StockSel()用于查詢庫存量; StockUpdate()用于更新庫存量。 2.2.3 時序圖 (1) 營業(yè)員管理會員時序圖 圖2-3 營業(yè)員管理會員時序圖(2)超市經理管理員工時序圖 圖2-4 超市經理管理員工的時序圖2.2.3 協(xié)作圖 (1) 營業(yè)員管理會員協(xié)作圖 圖2-5 營業(yè)員管理會員協(xié)作圖(2)超市經理管理員工協(xié)作圖 圖2-6 超市經理管理員工協(xié)作圖2.3 系統(tǒng)總體設計2.3

15、.1 設計問題域子系統(tǒng)本系統(tǒng)目標是實現(xiàn)小型超市管理系統(tǒng)所需的各種基本功能,分為前臺和后臺,共有五大模塊,分別為:營業(yè)員模塊,顧客模塊,超市經理模塊,管理員模塊和公有模塊。這五個模塊包含了營業(yè)員進行商品錄入和收銀業(yè)務;超市經理對商品銷售進行控制,管理進貨事項和商品庫存;管理員對員工信息進行增、刪、改、查,管理員工操作權限,管理客戶銷售權限;顧客可以在銷售系統(tǒng)里查詢商品信息和會員積分等基本功能。(1) 總體設計圖小型超市管理系統(tǒng)總體設計圖(2)各模塊功能功能模塊包含子功能模塊功能管理員模塊客戶管理子模塊刪除,添加,更改用戶及用戶信息員工管理子模塊刪除,添加,更改員工及員工信息超市經理模塊商品價格更

16、改,管理進貨事項和商品庫存營業(yè)員模塊商品錄入和收銀業(yè)務會員模塊查詢會員積分,管理個人信息公共模塊登陸界面,企業(yè)介紹及超市活動信息2.3.2 設計數(shù)據(jù)管理子系統(tǒng)(1)數(shù)據(jù)庫表序號數(shù)據(jù)庫表數(shù)據(jù)表存儲的內容1staff存儲員工信息2member存儲會員信息3commodity存儲商品信息4supplier存儲供應商信息5storage存儲倉庫信息6manufacturer存儲廠商信息7product存儲生產信息8supply存儲供應信息9procure存儲采購信息10store存儲存儲信息11purchase存儲購買信息(2) 數(shù)據(jù)表之間的關系 數(shù)據(jù)表之間的關系圖(3) 數(shù)據(jù)庫表結構 1)員工表St

17、aff的詳細數(shù)據(jù)字段:Staff員工信息表序號字段名字段類型說明備注1sta.noChar員工編號關鍵字2Char員工姓名3sta.sexChar員工性別4sta.addChar員工住址5sta.telChar員工電話6sta.wagChar員工工資7sta.IDChar員工身份證號 2)會員表member的詳細數(shù)據(jù)字段:Member會員信息表序號字段名字段類型說明備注1mem.noChar會員卡號關鍵字2Char會員姓名3mem.sexChar會員性別4mem.IDChar會員身份證號5mem.addDate會員地址6mem.telDate會員電話 3)商品表

18、commodity的詳細數(shù)據(jù)字段 commodity 商品員信息表序號字段名字段類型說明備注1com.noChar商品編號關鍵字2Char商品名稱3com.numChar商品單位4com.priChar商品價格com.typeChar商品種類 4)供應商supplier的詳細數(shù)據(jù)字段supplier供應商信息表序號字段名字段類型說明備注1sup.noChar供應商編號關鍵字2Char供應商名稱3sup.telChar供應商電話4sup.addChar供應商地址5sup.posChar供應商郵編6sup.manChar供應商聯(lián)系人 5)倉庫storage的詳細數(shù)據(jù)

19、字段Storage倉庫信息表序號字段名字段類型說明備注1sto.noChar倉庫編號關鍵字2sto.areaChar倉庫面積3sto.typeChar倉庫類別4sto.addChar倉庫地址 6)廠商manufacturer的詳細字段manufacturer廠商信息表序號字段名字段類型說明備注1man.noChar廠商編號關鍵字2Char廠商名稱3man.telChar廠商電話4man.posChar廠商郵編5man.addChar廠商地址6man.manChar廠商聯(lián)系人 2.3.3 設計人機交互子系統(tǒng)(1)用戶分類本系統(tǒng)的用戶可分為四類:1)管理員用戶;2)會員用戶;3)員

20、工用戶;4)超市經理用戶。(2)用戶描述1)管理員用戶的描述:管理員用戶在整個小型超市管理系統(tǒng)中起到管理和維護的作用,對會員和員工的信息進行管理和維護等職責。2)會員用戶的描述:會員用戶在本系統(tǒng)中具有管理自己信息的權限,查看自己積分情況及超市會員優(yōu)惠的權限。3)員工用戶的描述:員工在本系統(tǒng)中具有修改自己的信息,查看商品價格及庫存情況的權限。 4)超市經理用戶的描述: 超市經理有商品銷售控制,進貨管理和庫存管理的權限,他可以管理庫 存,控制進貨,更改商品價格等。(3)設計命令層次1)系統(tǒng)的人機交互子系統(tǒng)的內容和準則:本小型超市管理系統(tǒng)的人機交互子系統(tǒng)在根據(jù)不同的用戶身份登陸到不同的頁面,然后按照

21、不同的用戶只能進行用戶權限內的操作,其結構圖如下:2)通過采用樹形結構,細化命令的組織方式,如下:2.4 詳細設計小型超市管理系統(tǒng)是實現(xiàn)管理員管理員工與會員基本信息、員工登陸系統(tǒng)以及超市經理管理進貨、庫存、商品銷售的一個平臺,整個學生選課系統(tǒng)共分為5個大模塊:管理員模塊,會員模塊,員工模塊,超市經理模塊和公有模塊,其中復雜的方法和模塊的詳細設計流程圖如下。 (1) 系統(tǒng)用戶登錄流程圖 圖4-1 系統(tǒng)用戶登錄流程圖(2)營業(yè)員收銀業(yè)務流程圖 圖4-2 營業(yè)員收銀業(yè)務流程圖(3)管理員添加員工流程圖 圖4-3管理員添加員工流程圖(4)超市經理控制限量銷售流程圖 圖4-4 超市經理控制限量銷售流程圖

22、(5)超市經理管理進貨流程圖 圖4-5 超市經理管理進貨流程圖(6)超市經理管理庫存流程圖 圖4-6 超市經理管理庫存流程圖2.5 系統(tǒng)實現(xiàn)本系統(tǒng)采用了三層架構來實現(xiàn),即分為用戶界面層(UI)、業(yè)務邏輯層(BLL)和數(shù)據(jù)訪問層(DAL),用戶界面層是展示給用戶的界面,方便用戶與系統(tǒng)進行交互;業(yè)務邏輯層是對系統(tǒng)業(yè)務實體的封裝,完成系統(tǒng)業(yè)務功能;數(shù)據(jù)訪問層直接與數(shù)據(jù)庫打交道,為業(yè)務邏輯層提供底層的數(shù)據(jù)庫操作。 登錄功能實現(xiàn)登錄界面是使用者在使用此軟件時需要輸入自已的賬號和密碼,從而使用自已的權限來管理超市的運行。小超市登錄界面如4-1所示。 圖4-1 小超市管理系統(tǒng)登錄界面模塊核心代碼:publi

23、c class Login extends Frame implements ActionListener,WindowListener /登陸界面 public int screanWidth,screanHeight; String idin=null; String keyin=null; String passwordD=null; public static String persontyD=null; MenuBar menubar; Menu menu; MenuItem quet,help; Label id,key; TextField idtf,keytf; Box box

24、V1,boxV2,boxV3,baseBox,boxx; Button enterB; Login() setTitle("超市管理系統(tǒng)登陸界面"); Toolkit tool=getToolkit(); Dimension dim=tool.getScreenSize(); screanWidth=dim.width; screanHeight=dim.height; setBounds(dim.width/3,dim.height/3,320,215); menubar=new MenuBar(); menu=new Menu("功能"); help

25、=new MenuItem("幫助"); quet=new MenuItem("退出"); quet.setShortcut(new MenuShortcut(KeyEvent.VK_E); quet.addActionListener(new ActionListener() /匿名類實例控制public void actionPerformed(ActionEvent p)System.exit(0); ); menu.add(help); menu.add(quet); menubar.add(menu); setMenuBar(menubar);

26、 id=new Label("請輸入帳號:",Label.RIGHT); key=new Label("請輸入密碼:",Label.RIGHT); idtf=new TextField(10); keytf=new TextField(10); keytf.setEchoChar('*'); enterB=new Button("登陸"); boxV1=Box.createVerticalBox(); boxV1.add(Box.createVerticalStrut(35); boxV1.add(id); boxV1

27、.add(Box.createVerticalStrut(15); boxV1.add(key); boxV1.add(Box.createVerticalStrut(15); boxV2=Box.createVerticalBox(); boxV2.add(Box.createVerticalStrut(35); boxV2.add(idtf); boxV2.add(Box.createVerticalStrut(15); boxV2.add(keytf); boxV2.add(Box.createVerticalStrut(15); baseBox=Box.createHorizontal

28、Box(); baseBox.add(Box.createHorizontalStrut(25); baseBox.add(boxV1); baseBox.add(Box.createHorizontalStrut(5); baseBox.add(boxV2); baseBox.add(Box.createHorizontalStrut(70); boxV3=Box.createHorizontalBox(); boxV3.add(Box.createHorizontalStrut(125); boxV3.add(enterB); boxV3.add(Box.createHorizontalS

29、trut(125); boxx=Box.createVerticalBox(); boxx.add(baseBox); boxx.add(Box.createVerticalStrut(15); boxx.add(boxV3); boxx.add(Box.createVerticalStrut(70); add(boxx); enterB.addActionListener(this); addWindowListener(this); setResizable(false); setVisible(true);public void actionPerformed(ActionEvent e

30、)Connection con;Statement sql;ResultSet rs;if (e.getSource()=enterB)idin=idtf.getText();keyin=keytf.getText(); try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException f) System.out.println(""+f); trycon=DriverManager.getConnection("jdbc:odbc:q",

31、"","");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM password where ID='"+idin+"'");while(rs.next()passwordD=rs.getString(2);persontyD=rs.getString(3);con.close();catch (SQLException g)System.out.println(g); if (keyin.equals(passwordD) V

32、iew2 frame=new View2(); this.setVisible(false); else JOptionPane.showMessageDialog(this," 帳戶或密碼錯誤n 請重新輸入","提示",JOptionPane.WARNING_MESSAGE); public void windowActivated(WindowEvent o)validate();public void windowDeactivated(WindowEvent o)setBounds(screanWidth/3,screanHeight/3,320

33、,215);validate();public void windowClosing(WindowEvent o)dispose();public void windowClosed(WindowEvent o)System.exit(0);public void windowIconified(WindowEvent o)public void windowDeiconified(WindowEvent o)setBounds(screanWidth/3,screanHeight/3,320,215); validate();public void windowOpened(WindowEv

34、ent o)4.2 銷售界面功能介紹該功能是此系統(tǒng)的最關鍵的模塊,是消費者直接使用的功能。消費者可以根據(jù)已看到的商,在搜索欄中打入商品的編號,進行查詢商品的信息,然后可以依椐自已的需要購買。最后單擊提交,購買的商品就記錄到系統(tǒng)的數(shù)據(jù)庫中。銷售的主界面如圖4-2所示:圖 4-2 銷售的主界面4.2.1 搜索商品的信息 消費者可根據(jù)自已所需要的商品編號,在銷售功能中搜索,查看商品的信息無誤后,確定是否購買。如搜索001號商品,查看它的信息,如圖4-3所示。圖4-3 搜索001號商品的信息4.2.2 購買商品在確定自已需要的商品后,然后就是購買商品,消費者可以按“購買”鍵進行購買物品,購買一份就單擊

35、一次“購買”鍵,購買物品的信息顯示在購物信息框中,最后單擊“提交”,消費者所購買的物品就作為一個賬單號存儲在數(shù)據(jù)庫中。如購買004、005、006、008、010和011號商品時,購買信息如圖4-4下: 圖4-4 購買信息當購買人不想購買這些商品時,可以點擊窗口左下角的清除按鈕,來清除剛才購買的商品,數(shù)據(jù)庫中也不會有此記錄。此外,本系統(tǒng)是每購買一件商品向數(shù)據(jù)庫提交一次記錄,當未點擊提交按鈕之前,若要結束此窗口進程,我們在代碼中嵌入了一段刪除當前帳單的數(shù)據(jù)庫記錄代碼,以達到沒有誤提交的操作。4.2.3 模塊的核心代碼 銷售界面的實現(xiàn)public class View2 extends JFram

36、e implements ActionListener /銷售界面String num=null,name=null,time=null,add=null,t1=null,t2=null,t3=null;int price=0;int n1,n2,ap,n3; private JPanel sM=new JPanel(); /supermarket面板private JButton pS=new JButton("銷售界面"),new JButton("銷售管理"), new JButton("商品管理"),new JButton(&

37、quot;權限管理");/personty 按鈕 private JTextArea goodsShow=new JTextArea(), searchShow=new JTextArea(); /文本區(qū) private JScrollPane jsp=new JScrollPane(goodsShow); /滾動區(qū)域 設定內容為 商品顯示的文本區(qū)private JTextField numSearch=new JTextField(),showGoods=new JTextField(); /商品查詢/顯示商品 private JButton searchGoods=new JBu

38、tton("搜索"),buyGoods=new JButton("購買"), clean=new JButton("清空"), ok=new JButton("提交"),print=new JButton("打印并提交"); /查詢按鈕private JLabel goodsInformation=new JLabel("商品編碼",JLabel.CENTER),new JLabel("商品名稱",JLabel.CENTER), new JLabel(&q

39、uot;商品價格",JLabel.CENTER),new JLabel("生產日期",JLabel.CENTER),new JLabel("生產地",JLabel.CENTER) ;private JLabel goodsI=new JLabel("商品編碼",JLabel.CENTER),new JLabel("商品名稱",JLabel.CENTER), new JLabel("商品價格",JLabel.CENTER),new JLabel("生產日期",JLab

40、el.CENTER),new JLabel("生產地",JLabel.CENTER) ; private JLabel allPrice=new JLabel("商品總價:n ",JLabel.LEFT),label1=new JLabel("商品信息 ",JLabel.RIGHT),label2=new JLabel("購物信息 ",JLabel.RIGHT); public View2()sM.setLayout(null);for(int i=0;i<4;i+)pSi.setBounds(550+i*1

41、10,50,100,22);sM.add(pSi);pSi.addActionListener(this); jsp.setBounds(100,180,800,500); goodsShow.setLineWrap(true) numSearch.setBounds(100,50,150,22); searchGoods.setBounds(260,50,60,22); searchGoods.addActionListener(this); buyGoods.setBounds(330,50,60,22); buyGoods.addActionListener(this); showGoo

42、ds.setBounds(100,120,800,22); for (int b=0;b<5 ;b+ ) goodsInformationb.setBounds(100+160*b,87,160,30); sM.add(goodsInformationb); for (int b=0;b<5 ;b+ ) goodsIb.setBounds(100+160*b,150,160,30); sM.add(goodsIb); clean.setBounds(100,690,100,22); clean.addActionListener(this); ok.setBounds(690,69

43、0,100,22); ok.addActionListener(this); print.setBounds(800,690,100,22); print.addActionListener(this); allPrice.setBounds(900,480,100,50); label1.setBounds(20,120,80,22); label2.setBounds(20,180,80,22); sM.add(label1); sM.add(label2); sM.add(allPrice); sM.add(print); sM.add(ok); sM.add(showGoods); s

44、M.add(clean); sM.add(numSearch); sM.add(searchGoods); sM.add(buyGoods); sM.add(jsp); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) Connection con;Statement sql;ResultSet rs;try if (n3!=0) int a1=0; con=DriverManager.getConnection("jdbc:odbc:q","",

45、""); sql=con.createStatement(); rs=sql.executeQuery("SELECT MAX(編號) from information"); while(rs.next() a1=rs.getInt(1); for (int i=0;i<n3 ;i+ ) sql.executeUpdate("delete from information where 編號="+(a1-i); con.close(); ap=0; num=null;name=null;price=0;time=null;add=

46、null;n3=0; goodsShow.setText(null); catch (SQLException g)System.out.println(g); System.exit(0); ); this.add(sM); this.setTitle("銷售窗口"); this.setResizable(false); this.setBounds(0,0,1024,768); this.setVisible(true); validate(); 購買商品功能的代碼if(p.getSource()=buyGoods) /購買按鍵 tryif (num!=null)con

47、=DriverManager.getConnection("jdbc:odbc:q","","");sql=con.createStatement();sql.executeUpdate("insert into information(listnum,goodsnum) values('"+n2+"','"+num+"')");rs=sql.executeQuery("SELECT * FROM information where

48、listnum="+n2);n3+;/記錄購買商品個數(shù)con.close();goodsShow.append(" "+num+" "+name+" "+price+" "+time+" "+add+"n"); elseJOptionPane.showMessageDialog(this,"請選擇商品","提示",JOptionPane.WARNING_MESSAGE);ap=ap+price;/總價allPrice.setT

49、ext("商品總價:n"+ap);catch (SQLException g)System.out.println(g); if(p.getSource()=ok) try if (n3!=0) con=DriverManager.getConnection("jdbc:odbc:q","",""); sql=con.createStatement(); sql.executeUpdate("insert into information(listnum,allprice) values('"+n2+"','"+ap+&qu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論