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

下載本文檔

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

文檔簡介

1、(店鋪管理)J超市管理系統(tǒng)沈陽工程學(xué)院課程設(shè)計(jì)設(shè)計(jì)題目:面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)小超市管理系統(tǒng)課程設(shè)計(jì)任務(wù)書課程設(shè)計(jì)題目:面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)小超市管理系統(tǒng)目錄第1章緒論1第2章 系統(tǒng)功能介紹22.1 系統(tǒng)功能總框圖22.2 本系統(tǒng)模塊功能介紹22.2.1 登錄功能介紹22.2.2 商品銷售功能介紹32.2.3 權(quán)限管理功能介紹32.2.4 銷售管理功能介紹42.2.5 商品管理功能介紹42.3 組內(nèi)任務(wù)分工5第3章數(shù)據(jù)庫設(shè)計(jì)63.1 數(shù)據(jù)庫需求分析 63.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)63.3 數(shù)據(jù)庫表的設(shè)計(jì)7第4章 系統(tǒng)功能實(shí)現(xiàn)84.1 登錄功能實(shí)現(xiàn)84.2 銷售界面功能介紹 114.2.1

2、搜索商品的信息114.2.2 購買商品114.2.3 模塊的核心代碼124.3 權(quán)限管理功能介紹184.3.1 添加用戶功能介紹184.3.2 修改用戶功能介紹194.3.3 刪除用戶功能介紹194.3.4 顯示用戶信息與刷新按鈕介紹204.3.5 用戶管理的實(shí)現(xiàn)代碼:.204.4 銷售管理功能介紹274.4.1 編號查詢功能274.4.2 賬單查詢功能274.4.3 銷售管理模塊的核心代碼284.4商品管理功能介紹314.4.1 查詢信息314.4.2 添加信息及提交添加324.4.3 刪除信息及提交刪除324.4.4 修改信息及提交修改 334.4.5 關(guān)于 334.4.6 模塊的核心代碼

3、:.34總結(jié)39致詞t 40參考文獻(xiàn)41第1章緒論隨著人們生活水平的不斷提高,購物已成為一種時尚。每天都有大量的消費(fèi)者在各大商 場中留下消費(fèi)信息,所以作為商場的管理人員就需要有一個自動化、智能化的管理系統(tǒng)來完 成這些信息的處理。由此我們設(shè)計(jì)開發(fā)小超市管理系統(tǒng)。目前市場上的超市管理系統(tǒng),大部分為基于分布式數(shù)據(jù)庫的網(wǎng)絡(luò)管理系統(tǒng),對于規(guī)模較 小的超市沒有必要花巨資來購買這樣功能全面的管理系統(tǒng),止匕外,對于那樣功能齊全的管理 系統(tǒng)也需要花大精力來維護(hù)?;谶@種情況,我們用所學(xué)的 java知識,可以開發(fā)一種既能節(jié) 約資金,又能完成小超市日常的管理任務(wù)。本系統(tǒng)所包括的功能主要有:限于不同身份的人登錄的登錄

4、界面;權(quán)限管理功能;商品 銷售功能;商品管理功能;銷售管理功能。在系統(tǒng)的設(shè)計(jì)中,用戶管理功能可以管理登錄本系統(tǒng)的人員,如:管理員、用戶和超級 用戶等。在最初的系統(tǒng)使用中只有技術(shù)管理員一種身份。商品銷售功能;可以完成商品信息 的查詢。如:輸入一種商品的編號在商品信息欄就顯示該商品的所有信息,名稱、價格、生 產(chǎn)日期、生產(chǎn)地。然后選擇購買功能,就可以將商品添加到購物信息欄,最后選擇提交,所 購買的商品信息同時也添加到數(shù)據(jù)庫中。在商品管理功能中,可以把一種新引進(jìn)的商品信息 添加到小超市管理系統(tǒng)中。在銷售管理功能中,可以查看超市的銷售情況,所有商品的購買 信息都存儲在數(shù)據(jù)庫中。在系統(tǒng)的安全性方面,我們規(guī)

5、定了不同權(quán)限的登錄用戶,管理員(主要負(fù)責(zé)用戶管理) 可以登錄到任何一個管理模塊,以及后臺的數(shù)據(jù)庫,能夠改變?nèi)我粋€登錄者的用戶名和密碼。 用戶只能進(jìn)入到銷售界面。老板超級主要查看商品的銷售情況和商品管理,他可以進(jìn)入到商 品銷售管理查看商品的銷售情況。通過這樣的權(quán)限限制就可以方便的控制系統(tǒng)的安全性??傊?,小超市管理系統(tǒng)是一個經(jīng)濟(jì)、實(shí)惠的應(yīng)用軟件,適合小規(guī)模的商店和超市。操作難度小,易學(xué)易用第2章系統(tǒng)功能介紹2.1 系統(tǒng)功能總框圖小超市管理系統(tǒng)是一個專門針對小型的商店和超市的智能化、自動化的管理系統(tǒng)。其功 能總框圖如圖2-1所示超市管理系統(tǒng)登陸更 新 用 戶添 加 商 品 信 息銷售商品用戶管理刪除

6、商品賬單查詢提交購買信息商品銷售信息修改用戶權(quán)限圖2-1系統(tǒng)功能總框圖2.2 本系統(tǒng)模塊功能介紹2.2.1 登錄功能介紹登錄功能是進(jìn)入系統(tǒng)必須經(jīng)過的驗(yàn)證過程,其主要功能是驗(yàn)證使用者的身份,確認(rèn)使用者的權(quán)限,從而在使用軟件過程中能安全地控制系統(tǒng)數(shù)據(jù),即不同的工作人員有不同的權(quán)限,每個使用人員不得跨越其權(quán)限操作軟件,可以避免不必要的數(shù)據(jù)丟失事件發(fā)生。登錄的界面如圖2-2所示:圖2-2登錄的界面2.2.2 商品銷售功能介紹銷售界面是本系統(tǒng)直接供銷售的店員應(yīng)用的專管銷售功能的界面,首先要查詢欲購買的商品,在左側(cè)的查詢框內(nèi)輸入商品代號,然后點(diǎn)擊搜索按鈕,相應(yīng)的商品信息將顯示在“商品信息” 一欄中,確認(rèn)是

7、此商品后點(diǎn)擊購買,購買的商品將出現(xiàn)在下面的購物信息一欄中, 當(dāng)所有欲購買的商品都已輸入好,點(diǎn)擊提交,購買的商品信息將記錄到數(shù)據(jù)庫中。若輸入有 誤,點(diǎn)擊清除按鈕,剛輸入的信息將被清除,可重新輸入。界面的右下方右商品總價的標(biāo)簽, 可以時時地顯示已購買商品的總價,以供參考。商品銷售功能的主界面如圖2-3所示:圖2-3銷售窗口的主界面2.2.3 用戶管理功能介紹用戶管理功能是管理人員使用的界面。管理人員可以使用此功能管理所有登錄用戶的信 息??梢孕薷乃杏脩舻膸ぬ柡兔艽a,設(shè)置用戶的權(quán)限,刪除用戶的帳號;對于已存在的用 戶技術(shù)管理員可以查詢他們的信息,在下面的顯示用戶信息處顯示。添加、修改、刪除等操 作

8、后,單擊“刷新”后,新的更改信息才可以在下面的用戶信息顯示處顯示。用戶管理的主界面如圖2-4所示:圖2-4用戶管理的主界面2.2.4 銷售管理功能介紹銷售管理功能主要是老板查看超市商品銷售情況。老板可以根據(jù)已售出的商品號查詢該 商品的信息,如可以查詢該商品已售出的總數(shù)量。還可以根據(jù)銷售的賬單號查詢,就是在消費(fèi)者每一次購買商品時,就分配一個賬單號,如出現(xiàn)消費(fèi)者退貨情況時,老板可以查詢賬單號解決?!鞍淳幪柌樵儭陛斎肷唐返木幪?,在下面的商品信息處顯示該商品的信息;“按賬單號查詢”輸入商品的賬單號,在下面的商品信息處顯示該商品的信息。銷售管理功能的主界面如圖2-5所示:圖2-5商品管理功能主界面2.2

9、.5 商品管理功能介紹商品管理的功能是店員在進(jìn)貨、商品信息維護(hù)時所需要的界面,此界面功能是管理所有商 品的信息,在這里可以添加、修改、刪除任意商品信息,做到對商品信息的及時維護(hù)應(yīng)用時,對應(yīng)按鈕的功能,進(jìn)行應(yīng)用,維護(hù)方便。商品管理功能的主界面如圖2-6所示:圖2-6理系統(tǒng)面2.3組務(wù)分組分工如表2-1組內(nèi)分工商品管的主界內(nèi)任工內(nèi)人員表2-1所示:組內(nèi)分工姓名主要任務(wù)成績組長王浩數(shù)據(jù)庫的設(shè)計(jì)、商品管理和用戶管理等功能組員魏興龍銷售管埋界面及功能組員王瀟伯商品銷售界面及功能組員夏恩亮權(quán)限銷售界面及功能第3章數(shù)據(jù)庫設(shè)計(jì)在每個管理系統(tǒng)中都一定有儲存機(jī)制,若單單以文件形式儲存,查找和存儲時速度比較 緩慢,

10、會降低系統(tǒng)的整體運(yùn)行速度,一定要運(yùn)用數(shù)據(jù)庫的進(jìn)行信息管理,所以我們的“小超 市管理系統(tǒng)”運(yùn)用了 MicrosoftAccess 數(shù)據(jù)庫,存儲其后臺數(shù)據(jù)。下面將介紹本系統(tǒng)的數(shù)據(jù) 庫設(shè)計(jì)。3.1 數(shù)據(jù)庫需求分析此系統(tǒng)需要有兩個實(shí)體,賬戶和商品。數(shù)據(jù)項(xiàng)如表3-1和3-2所示。表3-1用戶信息數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)名數(shù)據(jù)項(xiàng)含義說明別名數(shù)據(jù)類型長度ID用戶登錄的帳號Id字符型50PASSWORD用戶登錄帳號對應(yīng)的密碼Psw字符型50PERSONTY登錄用戶的權(quán)限Pst字符型50表3-2商品信息數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)名數(shù)據(jù)項(xiàng)含義說明別名數(shù)據(jù)類型長度NUM商品的編號編R字符型50NAME商品的名稱名稱字符型50TIME商品的進(jìn)

11、貨時間貨時字符型50ADD商品的生產(chǎn)地址產(chǎn)地字符型50PRICE商品的單價價格整型50COUNT商品的庫存數(shù)量數(shù)量整型3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)根據(jù)需求分析設(shè)計(jì)出E-R圖如圖3-1所示:圖3-1系統(tǒng)E-R圖3.3 數(shù)據(jù)庫表的設(shè)計(jì)Password表,其中存儲的是用戶的帳號、密碼及權(quán)限,用于登陸系統(tǒng)時確認(rèn)身份。此表設(shè)計(jì)如3-3表所小:表 3-3Password信息表字段名稱數(shù)據(jù)類型長度備注ID文本50PASSWORD文本50PERSONTY文本50Goods表,其中存儲的是商品的詳細(xì)信息,作用是記錄商品的信息及在本超市中的數(shù)量 此表設(shè)計(jì)如3-4標(biāo)所示。表 3-4Goods信息表字段名稱數(shù)據(jù)類型長度

12、備注NUM文本50NAME文本50PRICE整型TIME文本50ADD文本50COUNT文本50Information 表,其中存儲的是顧客在超市中的消費(fèi)情況,其中有帳單號、商品代號、數(shù)量及總價,用來記錄超市中銷售情況,此表設(shè)計(jì)如3-5表所示表 3-5Information 信息表字段名稱數(shù)據(jù)類型長度備注編R長整型銷售的每件商品用不同的編號LISTNUM文本50每提交一次帳單帳單號增加1GOODSNUM文本50ALLPRICE整型每個帳單的最后合出此帳單的總價第4章系統(tǒng)功能實(shí)現(xiàn)4.1 登錄功能實(shí)現(xiàn)登錄界面是使用者在使用此軟件時需要輸入自已的賬號和密碼,從而使用自已的權(quán)限來管理超市的運(yùn)行小超市登

13、錄界面如4-1所示。圖4-1小超市管理系統(tǒng)模塊核心代碼:登錄界面publicclassLoginextendsFrameimplementsActionListener,WindowListener/登陸界面publicintscreanWidth,screanHeight;Stringidin=null;Stringkeyin=null;StringpasswordD=null;publicstaticStringpersontyD=null;MenuBarmenubar;Menumenu;MenuItemquet,help;Labelid,key;TextFieldidtf,keytf;B

14、oxboxV1,boxV2,boxV3,baseBox,boxx;ButtonenterB;Login()setTitle("超市管理系統(tǒng)登陸界面”);Toolkittool=getToolkit();Dimensiondim=tool.getScreenSize();screanWidth=dim.width;screanHeight=dim.height;setBounds(dim.width/3,dim.height/3,320,215);menubar=newMenuBar();menu=newMenu(" 功能");help=newMenuItem(&q

15、uot;幫助)quet=newMenuItem("退出");quet.setShortcut(newMenuShortcut(KeyEvent.VK_E);quet.addActionListener(newActionListener()/匿名類實(shí)例控制publicvoidactionPerformed(ActionEventp)System.exit(0););menu.add(help);menu.add(quet);menubar.add(menu);setMenuBar(menubar);id=newLabel("請輸入帳號:”,Label.RIGHT)

16、;key=newLabel("請輸入密碼:",Label.RIGHT);idtf=newTextField(10);keytf=newTextField(10);keytf.setEchoChar('*');enterB=newButton(" 登陸");boxV1=Box.createVerticalBox();boxV1.add(Box.createVerticalStrut(35);boxVl.add(id);boxV1.add(Box.createVerticalStrut(15);boxVl.add(key);boxV1.add

17、(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.createHorizontalBox();baseBox.add(Box.createHorizontalStrut(25);baseBox.add(boxVI)

18、;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.createHorizontalStrut(125);boxx=Box.createVerticalBox();boxx.add(baseBox);boxx.add(Box.creat

19、eVerticalStrut(15);boxx.add(boxV3);boxx.add(Box.createVerticalStrut(70);add(boxx);enterB.addActionListener(this);addWindowListener(this);setResizable(false);setVisible(true);publicvoidactionPerformed(ActionEvente)Connectioncon;Statementsql;ResultSetrs;if(e.getSource(尸enterB)idin=idtf.getText();keyin

20、=keytf.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundExceptionf)System.out.println(""+f);trycon=DriverManager.getConnection("jdbc:odbc:q","","");sql=con.createStatement();rs=sql.executeQuery("SELECT*FROMpasswordwh

21、ereID="'+idin+""');while(rs.next()passwordD=rs.getString(2);persontyD=rs.getString(3);con.close();catch(SQLExceptiong)System.out.println(g);if(keyin.equals(passwordD)View2frame=newView2();this.setVisible(false);elseJOptionPane.showMessageDialog(this,"帳戶或密碼錯誤 n 請重新輸入"

22、,"提示”,JOptionPane.WARNING_MESSAGE);publicvoidwindowActivated(WindowEvento)validate。;publicvoidwindowDeactivated(WindowEvento)setBounds(screanWidth/3,screanHeight/3,320,215);validate。;publicvoidwindowClosing(WindowEvento)dispose。;publicvoidwindowClosed(WindowEvento)System.exit(O);publicvoidwindo

23、wIconified(WindowEvento)publicvoidwindowDeiconified(WindowEvento)setBounds(screanWidth/3,screanHeight/3,320,215);validate。;publicvoidwindowOpened(WindowEvento)4.2 銷售界面功能介紹該功能是此系統(tǒng)的最關(guān)鍵的模塊,是消費(fèi)者直接使用的功能。消費(fèi)者可以根據(jù)已看到的 商,在搜索欄中打入商品的編號,進(jìn)行查詢商品的信息,然后可以依據(jù)自已的需要購買。最 后單擊提交,購買的商品就記錄到系統(tǒng)的數(shù)據(jù)庫中。界面的信息根據(jù)自已所需在銷售功能中銷售的主界面如圖4

24、-2所示:圖4-2銷售的主4.2.1 搜索商品消費(fèi)者可要的商品編號,搜索,查看商品的信息無誤后,確定是否購買。如搜索001號商品,查看它的信息,如圖4-3 所示。圖4-3搜索001號商品的信息4.2.2 購買商品在確定自已需要的商品后,然后就是購買商品,消費(fèi)者可以按“購買”鍵進(jìn)行購買物品,購買一份就單擊一次“購買”鍵,購買物品的信息顯示在購物信息框中,最后單擊“提交”,消費(fèi)者所購買的物品就作為一個賬單號存儲在數(shù)據(jù)庫中。如購買004、005、006、008、010和011號商品時,購買信息如圖 4-4下:四展堂| 藏| 曲| 陶一出現(xiàn)pi戶曲S!朗晚商品名林生產(chǎn)ujm生聲的商品片且諾向15251

25、0-e-70訶日M的蛹塢商量名杵的最偏珞生產(chǎn)曰Rd生產(chǎn)1燉第隹是QDB編一 直情22QTD-6-30北克0W擊戊近巾262DH0-6-3Q吉林011三至牙刷2201足初00f-司司H主3X10冬31StfBMS3201回日-第遼IH004雨耳152015-0 JU雌商品口價;»圖4-4購買信息當(dāng)購買人不想購買這些商品時,可以點(diǎn)擊窗口左下角的清除按鈕,來清除剛才購買的商 品,數(shù)據(jù)庫中也不會有此記錄。止匕外,本系統(tǒng)是每購買一件商品向數(shù)據(jù)庫提交一次記錄,當(dāng)未點(diǎn)擊提交按鈕之前,若要 結(jié)束此窗口進(jìn)程,我們在代碼中嵌入了一段刪除當(dāng)前帳單的數(shù)據(jù)庫記錄代碼,以達(dá)到?jīng)]有誤 提交的操作4.2.3 模塊的

26、核心代碼 銷售界面的實(shí)現(xiàn)publicclassView2extendsJFrameimplementsActionListener/銷售界面 Stringnum=null,name=null,time=null,add=null,t1=null,t2=null,t3=null; intprice=0; intn1,n2,ap,n3; privateJPanelsM=newJPanel();supermarket面板privateJButton口pS=newJButton("銷售界面"),newJButton("銷售管理"),newJButton(&quo

27、t; 商品管理"'newJButton(" 權(quán)限管理");/personty 按鈕 privateJTextAreagoodsShow=newJTextArea(),searchShow=newJTextArea();文本區(qū)privateJScrollPanejsp=newJScrollPane(goodsShow);/滾動區(qū)域設(shè)定內(nèi)容為商品顯示的文本區(qū)privateJTextFieldnumSearch=newJTextField(),showGoods=newJTextField();商品查詢/顯示商品privateJButtonsearchGoods

28、=newJButton("搜索"),buyGoods=newJButton(" 購買"),clean=newJButton(" 清空"),ok=newJButton(" 提交)print=newJButton("打印并提交");/查詢按鈕privateJLabel口goodsInformation=newJLabel("商品編碼",JLabel.CENTER),newJLabel("商品名稱”,JLabel.CENTER), newJLabel("商品價格"

29、;,JLabel.CENTER),newJLabel("生產(chǎn)日期",JLabel.CENTER),newJLabel("生產(chǎn)地 ”,JLabel.CENTER); privateJLabel口goodsI=newJLabel("商品編碼",JLabel.CENTER),newJLabel(" 商品名稱”,JLabel.CENTER), newJLabel("商品價格",JLabel.CENTER),newJLabel("生產(chǎn)日期",JLabel.CENTER),newJLabel("生

30、產(chǎn)地 ”,JLabel.CENTER);privateJLabelallPrice=newJLabel(商品總價:n",JLabel.LEFT),label1=newJLabel(商品信息”,JLabel.RIGHT),label2=newJLabel("購物信息",JLabel.RIGHT);publicView2()sM.setLayout(null);for(inti=0;i<4;i+)pSi.setBounds(550+i*110,50,100,22);sM.add(pSi);pSi.addActionListener(this);jsp.setBo

31、unds(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);showGoods.setBounds(100,120,800,22);for(intb=0;b<5;b+)goodsInformationb.set

32、Bounds(100+160*b,87,160,30);sM.add(goodsInformationb);for(intb=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,690,100,22);ok.addActionListener(this);print.setBounds(800,690,100,22);print.addActionList

33、ener(this);allPrice.setBounds(900,480,100,50);label1.setBounds(20,120,80,22);label2.setBounds(20,180,80,22);sM.add(labell);sM.add(label2);sM.add(allPrice);sM.add(print);sM.add(ok);sM.add(showGoods);sM.add(clean);sM.add(numSearch);sM.add(searchGoods);sM.add(buyGoods);sM.add( jsp);addWindowListener(ne

34、wWindowAdapter()publicvoidwindowClosing(WindowEvente)Connectioncon;Statementsql;ResultSetrs;tryif(n3!=0)inta1=0;con=DriverManager.getConnection("jdbc:odbc:q","","");sql=con.createStatement();rs=sql.executeQuery("SELECTMAX(編號)frominformation");while(rs.next()a1

35、=rs.getInt(1);for(inti=0;i<n3;i+)sql.executeUpdate("deletefrominformationwhere編號="+(a1-i);con.close();ap=0;num=null;name=null;price=0;time=null;add=null;n3=0;goodsShow.setText(null);catch(SQLExceptiong)System.out.println(g);System.exit(O););this.add(sM);this.setTitle("銷售窗口 ");

36、this.setResizable(false);this.setBounds(0,0,1024,768);this.setVisible(true);validate。;購買商品功能的代碼if(p.getSource()=buyGoods)/ 購買按鍵tryif(num!=null)con=DriverManager.getConnection("jdbc:odbc:q","","");sql=con.createStatement();sql.executeUpdate("insertintoinformation(li

37、stnum,goodsnum)values("+n2+"',"'+num+"')");rs=sql.executeQuery("SELECT*FROMinformationwherelistnum="+n2);n3+;/記錄購買商品個數(shù)con.close();goodsShow.append(""+num+""+name+""+price+""+time+""+add+"n");el

38、seJOptionPane.showMessageDialog(this," 請選擇商品","提示",JOptionPane.WARNING_MESSAGE);ap=ap+price;/ 總價allPrice.setText("商品總價:n"+ap);catch(SQLExceptiong)System.out.println(g);if(p.getSource()=ok)tryif(n3!=0)con=DriverManager.getConnection("jdbc:odbc:q","",&

39、quot;");sql=con.createStatement();sql.executeUpdate("insertintoinformation(listnum,allprice)valuesC"+n2+"',"'+ap+"')");rs=sql.executeQuery("SELECT*FROMinformationwherelistnum="+n2);con.close();ap=0;num=null;name=null;price=0;time=null;add=null

40、;n3=0;goodsShow.setText(null);n2+;/ 帳單號elseJOptionPane.showMessageDialog(this,”請購買商品","提示",JOptionPane.WARNING_MESSAGE);catch(SQLExceptiong)System.out.println(g);if(p.getSource()=print)tryif(n3!=0)con=DriverManager.getConnection("jdbc:odbc:q","","");sql=c

41、on.createStatement();sql.executeUpdate("insertintoinformation(listnum,allprice)valuesC"+n2+"',"'+ap+"')");rs=sql.executeQuery("SELECT*FROMinformationwherelistnum="+n2);con.close();ap=0;num=null;name=null;price=0;time=null;add=null;n3=0;goodsShow.se

42、tText(null);n2+;/ 帳單號elseJOptionPane.showMessageDialog(this,” 請購買商品","提示",JOptionPane.WARNING_MESSAGE);catch(SQLExceptiong)System.out.println(g);if(p.getSource()=clean)tryif(n3!=0)inta1=0;con=DriverManager.getConnection("jdbc:odbc:q","","");sql=con.create

43、Statement();rs=sql.executeQuery("SELECTMAX( 編號)frominformation");while(rs.next()a1=rs.getInt(1);for(inti=0;i<n3;i+)sql.executeUpdate("deletefrominformationwhere編號="+(a1-i);con.close();ap=0;num=null;name=null;price=0;time=null;add=null;n3=0;goodsShow.setText(null);catch(SQLExce

44、ptiong)System.out.println(g);搜索商品的代碼實(shí)現(xiàn)if(p.getSource()=searchGoods)num=numSearch.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundExceptionf)System.out.println(""+f);trycon=DriverManager.getConnection("jdbc:odbc:q","","")

45、;sql=con.createStatement();rs=sql.executeQuery("SELECT*FROMgoodswherenum="'+num+""');while(rs.next()name=rs.getString(2);price=rs.getInt(3);time=rs.getString(4);add=rs.getString(5); n1=1; con.close(); catch(SQLExceptiong) System.out.println(g); if(n1=1) showGoods.setText(

46、""+num+""+name+""+price+""+time+""+add); n1=0; elseshowGoods.setText("");num=null;name=null;price=0;time=null;add=null;JOptionPane.showMessageDialog(this,"輸入錯誤 n 請重新輸入","提示”,JOptionPane.WARNING_MESSAGE); 提交商品的代碼 if(p.getSourc

47、e()=ok) tryif(n3!=0)con=DriverManager.getConnection("jdbc:odbc:q","","");sql=con.createStatement();sql.executeUpdate("insertintoinformation(listnum,allprice)valuesC"+n2+"',"'+ap+"')");rs=sql.executeQuery("SELECT*FROMinforma

48、tionwherelistnum="+n2);con.close();ap=0;num=null;name=null;price=0;time=null;add=null;n3=0;goodsShow.setText(null);n2+;/ 帳單號elseJOptionPane.showMessag eDialog(this,” 請 購 買 商 品 "," 提 示”,JOptionPane.WARNING_MESSAGE);catch(SQLExceptiong)System.out.println(g);4.3 用戶管理功能介紹在用戶管理部分,主要功能是控制小超

49、市內(nèi)用戶的權(quán)限,不同的職位具有不同的權(quán)限,具有不同的ID和密碼。在這部分當(dāng)中,可以針對超市的情況對工作人員的信息實(shí)現(xiàn)添加用戶、 修改用戶和刪除用戶的功能,并且超市內(nèi)所有人員的信息都可以通過顯示用戶信息區(qū)域顯示 出來。界面的設(shè)計(jì)簡單明了,將 setLayout布局設(shè)為空,然后再向面板上添加組件,通過坐 標(biāo)值控制各組件的位置。權(quán)限管理界面如圖4-5所示。圖4-5用戶管理界面4.3.1 添加用戶功能介紹在添加用戶行所對應(yīng)的文本框中輸入要添加用戶的ID、PASSWORD、PERSONTY,單擊添加按鈕,“添加”按鈕上已添加了監(jiān)控器,在按鈕被觸發(fā)后,將會向“ID”、“PASSWORD”、PERSONTY

50、”所對應(yīng)的文本框索取數(shù)據(jù),只有當(dāng)該用戶在數(shù)據(jù)庫中沒有相應(yīng)記錄,并且添加的信息完整時才會顯示添加成功,若所添加的信息不完整,則顯示“請輸入完整信息”,若信息完整,但該用戶已存在,則顯示“添加失??!原因:可能數(shù)據(jù)庫添加失敗或已有此ID添加用戶功能如圖4-6所示。(a)(b)圖4-6添加用戶4.3.2 修改用戶功能介紹修改部分的操作方法與添加部分相類似,但是輸入的是修改后的用戶信息,“修改”按鈕也添加了監(jiān)控器,單擊“修改”按鈕后,會將新輸入的“ID”、“PASSWORD"、“PERSONTY” 信息返回到數(shù)據(jù)庫中,替代原來的信息。同樣的,輸入的信息必須完整,修改的 ID數(shù)據(jù)庫中 必須存在。

51、修改用戶功能如圖4.7所示。PERSONTY超然用戶無管理員 超級用戶 用戶IQPASSWORD修改用戶回| 加3 10刪除用戶圖4.7修改用戶4.3.3 刪除用戶功能介紹刪除用戶部分的操作,只需要輸入用戶的ID,然后點(diǎn)擊“刪除”按鈕,由于刪除按鈕上也添加了監(jiān)控器,當(dāng)按鈕被觸發(fā)后,會從刪除用戶對應(yīng)的文本框獲取數(shù)據(jù)(即 ID號碼),再 返回?cái)?shù)據(jù)庫,將該ID對應(yīng)的信息刪除。刪除用戶信息如圖 4-8所示靜臚州 藉(a)(b)圖4-8刪除用戶4.3.4 顯示用戶信息與刷新按鈕介紹設(shè)置顯示用戶信息區(qū)域的主要目的是將數(shù)據(jù)庫中的用戶信息顯示出來,然而該區(qū)域只能 顯示在進(jìn)入系統(tǒng)時的數(shù)據(jù)庫信息,對于之后的修改等

52、操作后的信息無法更新,所以添加了 “刷 新”按鈕,使心事的信息更新,刷新的實(shí)質(zhì)是將該界面關(guān)閉再重新打開,從而達(dá)到更新數(shù)據(jù) 的目的。4.3.5 用戶管理的實(shí)現(xiàn)代碼用戶管理的實(shí)現(xiàn)代碼如下:importjava.awt.*;importjava.awt.event.*;importjava.sql.*;importjava.util.*;importjavax.swing.*;importjavax.swing.event.*;publicclassView3extendsJFrameimplementsActionListenerStringurl="jdbc:odbc:driver=M

53、icrosoftAccessDriver(*.mdb);DBQ=D:supermarket.mdb"privateJPanelv3=newJPanel();privateJLabelidl1=newJLabel("ID",JLabel.CENTER),idl2=newJLabel("ID",JLabel.CENTER),idl3=newJLabel("ID",JLabel.CENTER),passwordl1=newJLabel("PASSWORD",JLabel.CENTER),passwordl2=n

54、 ewJLabel("PASSWORD",JLabel.CENTER),perl1=newJLabel("PERSONTY",JLabel.CENTER),perl2=ne wJLabel("PERSONTY",JLabel.CENTER);privateJLabel口cho=newJLabel("添加用戶",JLabel.RIGHT),newJLabel("修改用戶”,JLabel.RIGHT),newJLabel(" 刪除用戶",JLabel.RIGHT),newJLabel(&q

55、uot;顯示用戶信息”,JLabel.RIGHT);privateJTextFieldid1=newJTextField(),id2=newJTextField(),id3=newJTextField(),password1=newJTextField(),password2=newJTextField();privateJButton口pS=newJButton("銷售界面"),newJButton(" 銷售管理"),newJButton(" 商品管理"工newJButton("用戶管理");privateJBu

56、tton口cB=newJButton("添力口 "),newJButton(" 修改"),newJButton(" 刪除");privateJButtonaddin=newJButton(" 添力口 "),updatein=newJButton(" 修改"),dele=newJButton(" 修改");privatestring口str="無","管理員","超級用戶","用戶"privateJ

57、boBoxper1=newJboBox(str),per2=newJboBox(str);privateJTextAreajtas=newJTextArea();privateJScrollPanejsp=newJScrollPane(jtas);privateJButtonreShow=newJButton(" 刷新");Connectioncon;/ 連接對象ResultSetrs;/ 結(jié)果集Statementst;View3()v3.setLayout(null);for(inti=0;i<4;i+) pSi.setBounds(550+i*110,50,100

58、,22); v3.add(pSi);pSi.addActionListener(this);for(inti=0;i<4;i+)choi.setBounds(50,120+i*51,140,22);v3.add(choi);for(inti=0;i<3;i+)cBi.setBounds(680,120+i*51,80,22);v3.add(cBi);cBi.addActionListener(this);idl1.setBounds(200,98,150,22);passwordl1.setBounds(370,98,150,22);perl1.setBounds(540,98,100

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論