Java课程设计超库存管理系统附源代码可以直接运行_第1页
Java课程设计超库存管理系统附源代码可以直接运行_第2页
Java课程设计超库存管理系统附源代码可以直接运行_第3页
Java课程设计超库存管理系统附源代码可以直接运行_第4页
Java课程设计超库存管理系统附源代码可以直接运行_第5页
免费预览已结束,剩余16页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、:学院榆林学院超市库存管理系统专业:计算机科学与技术1班级:13级计本1班学生姓名:李治生学号:1312210142需求分析3概要设计3三、详细设计41、数据库设计4用户登录界面:6进入主界面:9四、软件测试39五、总结40六、附录:41本系统主要是用来帮助小型超市进行库存管理系统,能够有效的帮助小型超市进行库存管理!其中包括增删改查等基本的应用。极大的提高了超市的库存管理效率,节省了大量的时间。*二、概要设计1、本系统的每一个功能模块都包含了多个功能。整个系统主要完成对超市商品的日常管理,包括进货管理,库存管理和供应商管理等方面。在功能上系统可以完成对相关信息的浏览、查询、添加、删除、修改等

2、功能。本课题的核心之一是销售管理、库存管理和进货管理三者之间的联系,同时系统有完整的用户管理功能。本系统采用java语言和SQLServer2008作为开发工具。这种系统优势在于系统比较简单,但功能强大,扩展性能也比较好,完全能够处理一般超市的日常任务2、整体分为3个模块(货物,供应商,记录)每个模块之间相互关联,都有自己的增删改查!3、程序流程图如下:三、详细设计1、数据库设计Goods表:2015-20151114WFLZStLZ£-dbo.goods列名数据类用允许M值intnthartgpunmngchar(10)回jnhijojiamt胡shcLriiint国zhekoLi

3、jiaint国yiiliangint国yuliangyujirigzhiint国gongyingshangndiar(lQ)国ELzs(用户登录名,密码)2013-20151114WI允许Nul值2013-20151I14WFLZS.LZS-dbo.lzs列名数据类型nchar(10)ndiar(lO)Recond表():记录表201320151114WFLZS.LZS-dbo.record2O13-2O151114WFLZS.L2列名数据类型允许Ml值Onvarchar(50)0shangpinmingnvarchar(50)0gongyingshangnvarchar(50)国一caozt

4、ionvarchar(M)阿一小必Mnvarchar(50)ECSupplier(供应商表)20U:0151114WFLNS-dbo.supplier2013-2015H14WFLZS.L7S-dbc列名数据类型允许Null值shijian;nvarchar(50)国gongyngshangnvardiar(SO)国lianxidianhuanvardiar(SO)回dizhinvardiar(50)回yotixiangnvardiar(SO)国beizhunvardiar(SO)匣1用户登录界面:设计代码如下:packagesource;importjava.awt.*;importjava

5、.awt.event.*;importjavax.swing.*;importjava.sql.*;SuppressWarnings("serial")publicclassloginframeextendsJFrameimplementsActionListenerJTextField用户名;JPasswordField密码;JButton登录,重置;BoxbaseBox,box1,box2,box3;/盒式布局ImagePanelp;/用于插入图片的面板JSplitPanesplit;/拆分窗格Fontf;/设置字体JLabeluserName,psw;Function

6、wMain;Connectioncon;Statementsql;ResultSetrs;Stringdbdriver="com.microsoft.sqlserver.jdbc.SQLServerDriver"Stringdburl="jdbc:sqlserver:/localhost:1433;DatabaseName=LZS"Stringuser="sa"Stringpass="123"publicloginframe()(setLayout(newFlowLayout();init();setBounds(

7、130,80,960,600);setVisible(true);setResizable(false);try(Class.forName(dbdriver);catch(ClassNotFoundExceptionclassnotfound)System.out.println("未能找到SQLServerDriver,请检查是否已加载SQLServer驱动)voidinit()f=newFont("幼圆",Font.BOLD,18);p=newImagePanel(newImageIcon("E:/Java文件/SuperMarket/pictur

8、e/1.jpg").getImage();登录=newJButton("登录");登录.addActionListener(this);重置=newJButton("重置");重置.addActionListener(this);用户名=newJTextField(16);用户名.setFont(f);密码=newJPasswordField(16);userName=newJLabel("用户名:");userName.setFont(f);psw=newJLabel("密码:");psw.setFon

9、t(f);box1=Box.createVerticalBox();box1.add(userName);box1.add(Box.createVerticalStrut(20);box1.add(psw);box2=Box.createVerticalBox();box2.add(Box.createVerticalStrut(240);box2.add(用户名);box2.add(Box.createVerticalStrut(20);box2.add(密码);box2.add(Box.createVerticalStrut(20);box3=Box.createHorizontalBox

10、();box3.add(登录);box3.add(Box.createHorizontalStrut(20);box3.add(重置);box2.add(box3);box2.add(Box.createVerticalStrut(200);baseBox=Box.createHorizontalBox();baseBox.add(box1);baseBox.add(Box.createHorizontalStrut(15);baseBox.add(box2);/baseBox.add(登录);split=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,fa

11、lse,p,baseBox);split.setDividerLocation(0.5);add(split,BorderLayout.PAGE_START);)publicvoidactionPerformed(ActionEvente)(if(e.getSource()=登录)StringUname=用户名.getText().trim();charpsw=密码.getPassword();Stringpassword=newString(psw);trycon=DriverManager.getConnection("jdbc:sqlserver:/localhost:1433

12、;DatabaseName=LZS","sa","123");System.out.println("数据库连接成功!");sql=con.createStatement();Stringstring="SELECT*FROMlzsWHEREUname='"+Uname+”'ANDmima='"+passWord+"”'rs=sql.executeQuery(string);if(rs.next()wMain=newFunction();wMain.se

13、tTitle("超市库存管理系统");wMain.setVisible(true);this.dispose();/wMain.pack();)elseJOptionPane.showMessageDialog(this,"您输入的用密码不正确","警告对话框”,JOptionPane.WARNING_MESSAGE);密码.setText(null);密码.requestFocus();con.close();)catch(SQLExceptionee)ee.printStackTrace();elseif(e.getSource()=重置)

14、用户名.setText("");密码.setText("");进入主界面:第一菜单(货物)第二菜单(供应商)金超市序与昔理察晚一供青两虹第三菜单(记录)设计代码如下:packagesource;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;SuppressWarnings("serial")publicclassFunctionextendsJFrameimplementsActionListenerFontf;菜单栏JMenuBarmenubar;/菜单条JM

15、enu货物供应商,记录;菜单JMenuItem货物管理,退出,供应商管理,查询记录,进货方t划;菜单项/Boxbox;JLabellabel;ImagePanelp;/用于插入图片的面板/构造函数Function()(setLayout(newFlowLayout();init();setTitle("超市库存管理系统");setLocation(20,30);setSize(1200,800);setBounds(130,80,960,600);setVisible(true);setResizable(false);voidinit()(menubar=newJMenu

16、Bar();f=newFont("华文行楷”,Font.BOLD,50);Fontf2=newFont("宋体",0,12);p=newImagePanel(newImageIcon("E:Java文件/SuperMarket/picture/2.jpg").getImage();/库房货物管理菜单货物=newJMenu("货物");货物.setFont(f2);货物管理=newJMenuItem("货物管理");货物管理.setFont(f2);货物管理.addActionListener(this);

17、退出=newJMenuItem("退出");退出.setFont(f2);退出.addActionListener(this);货物.add(货物管理);货物.add(退出);menubar.add(货物);/货物供应商菜单供应商=newJMenu("供应商");供应商.setFont(f2);供应商管理=newJMenuItem("供应商管理");供应商管理.setFont(f2);供应商管理.addActionListener(this);供应商.add(供应商管理);menubar.add(供应商);/货物进货、入库和出库记录查

18、询菜单记录=newJMenu("记录");记录.setFont(f2);查询记录=newJMenuItem("查询记录");查询记录.setFont(f2);查询记录.addActionListener(this);进货计划=newJMenuItem("进货计划");进货计划.setFont(f2);进货计划.addActionListener(this);记录.add(查询记录);记录.add(进货at划);menubar.add(记录);label=newJLabel("欢迎进入超市库存管理系统");label

19、.setFont(f);p.add(label);label.setBounds(300,400,800,200);add(p,BorderLayout.CENTER);setJMenuBar(menubar);publicvoidactionPerformed(ActionEvente)if(e.getSource(尸供应商管理)SupplierManagesmTable=newSupplierManage();smTable.setVisible(true);smTable.pack();elseif(e.getSource()=W1f®)goodsgoTable=newgood

20、s();goTable.setVisible(true);goTable.pack();elseif(e.getSource()=llrWiE)recordreTable=newrecord();reTable.setVisible(true);reTable.pack();elseif(e.getSource()=进货计戈U)planplTable=newplan();plTable.setVisible(true);plTable.pack();elseif(e.getSource()=退出)this.dispose();)进入第一菜单(货物管理)口后市庄整堂晚造物卸2厨记录在此菜单下,可

21、进行货物的增删改查操作,设计代码如下:packagesource;importjava.awt.*;importjava.awt.event.*;importjava.sql.*;importjavax.swing.*;importjavax.swing.table.DefaultTableModel;SuppressWarnings("serial")publicclassgoodsextendsJFrameimplementsActionListenerJTabletable;JLabellabel;JTextFieldinputText;Stringname=&quo

22、t;货物号","货物名","进货价","售价","折扣价","余量","余量预警值","供应商"Stringstrings=newString8;JButton添加,修改删除,退出,确认修改;JPanelp;JLabellabels=newJLabel8;JTextFieldfields=newJTextField8;BoxbaseBox,box1,box2;ImagePanelpp;/用于插入图片的面板JSplitPanesplit;/拆分窗格

23、DefaultTableModeldeModel=null;Connectioncon;Statementsql;ResultSetrs;Stringdbdriver="com.microsoft.sqlserver.jdbc.SQLServerDriver"Stringdburl="jdbc:sqlserver:localhost:1433;DatabaseName=LZS"Stringuser="sa"Stringpass="123"goods()setLayout(newBorderLayout();init

24、();/Toolkittk=Toolkit.getDefaultToolkit();/Imageimg=tk.getImage("E:Java文件/SuperMarket/picture/2.jpg");/setIconImage(img);setTitle("货物管理");setBounds(130,80,960,600);/setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setResizable(false);tryClass.forName(dbdriver);catch(ClassNotFoundEx

25、ceptionclassnotfound)classnotfound.printStackTrace();)voidinit()(pp=newImagePanel(newImageIcon("E:/Java文件/SuperMarket/picture/2.jpg").getImage();添力口=newJButton("添力口");修改=newJButton("修改");删除=newJButton("删除");退出=newJButton("退出");确认修改=newJButton("确

26、认修改");label=newJLabel("请输入想要删除或修改的货物名:");inputText=newJTextField(8);添力口.addActionListener(this);修改.addActionListener(this);删除.addActionListener(this);退出.addActionListener(this);确认修改.addActionListener(this);p=newJPanel();p.add(label);p.add(inputText);p.add(添加);p.add(修改);p.add(删除);p.add

27、(退出);p.add(确认修改);add(p,BorderLayout.SOUTH);labels0=newJLabel("货物号");labels1=newJLabel("货物名");labels2=newJLabel("进货价");labels3=newJLabel("售价");labels4=newJLabel("折扣价");labels5=newJLabel("余量");labels6=newJLabel("余量预警值");labels7=newJ

28、Label("供应商");for(inti=0;i<8;i+)fieldsi=newJTextField(20);)/用盒式容器装要录入的数据和标签box1=Box.createVerticalBox();box1.add(Box.createVerticalStrut(15);for(inti=0;i<8;i+)box1.add(labelsi);box1.add(Box.createVerticalStrut(35);)box2=Box.createVerticalBox();box2.add(Box.createVerticalStrut(10);for(

29、inti=0;i<8;i+)box2.add(fieldsi);box2.add(Box.createVerticalStrut(14);)baseBox=Box.createHorizontalBox();baseBox.add(box1);baseBox.add(Box.createHorizontalStrut(15);baseBox.add(box2);/添加表格add(baseBox,BorderLayout.EAST);deModel=newDefaultTableModel(name,0);table=newJTable(deModel);table.setCellSele

30、ctionEnabled(false);table.setEnabled(false);table.setShowHorizontalLines(true);table.setShowVerticalLines(true);add(newJScrollPane(table),BorderLayout.CENTER);split=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,false,newJScrollPane(table),baseBox);split.setDividerLocation(0.5);add(split,BorderLayout.CEN

31、TER);StringsqlString="select*fromgoods"try/连接数据库con=DriverManager.getConnection(dburl,user,pass);sql=con.createStatement();JOptionPane.showMessageDialog(this,”数据库连接成功!","消息对话框”,JOptionPane.INFORMATION_MESSAGE);rs=sql.executeQuery(sqlString);while(rs.next()for(inti=0;i<8;i+)str

32、ingsi=rs.getString(i+1);/把查询的结果填入表格中)deModel.addRow(strings);deModel.fireTableStructureChanged();/更新中的数据)catch(SQLExceptionee)ee.printStackTrace();)publicvoidactionPerformed(ActionEvente)(if(e.getSource()=添力口)StringsqlString="INSERTINTOgoodsVALUES('"+fields0.getText()+"','

33、"+fields1.getText()+"','"+fields2.getText()+"','"+fields3.getText()+"','"+fields4.getText()+”?"+fields5.getText()+”7"+fields6.getText()+”?"+fields7.getText()+"')"trysql.execute(sqlString);JOptionPane.showMessageD

34、ialog(this,"操作成功!","消息对话框”,JOptionPane.INFORMATION_MESSAGE);更新表格中的数据for(inti=deModel.getRowCount()-1;i>=0;i-)deModel.removeRow(i);deModel.fireTableStructureChanged();rs=sql.executeQuery("select*fromgoods");while(rs.next()for(intj=0;j<8;j+)stringsj=rs.getString(j+1);deM

35、odel.addRow(strings);deModel.fireTableStructureChanged();/更新中的数据catch(SQLExceptionee)ee.printStackTrace();for(inti=0;i<8;i+)fieldsi.setText("");fields0.requestFocus();/设置光标的位置,在第一个文本框上面elseif(e.getSource()=修改)tryrs=sql.executeQuery("select*fromgoods");while(rs.next()for(inti=0

36、;i<8;i+)stringsi=rs.getString(i+1);if(strings1.trim().compareTo(inputText.getText().trim()=0)for(inti=0;i<8;i+)fieldsi.setText(stringsi);)fields0.setEditable(false);fields1.setEditable(false);)catch(SQLExceptionee)ee.printStackTrace();)elseif(e.getSource()=确认修改)StringsqlString="UPDATEgood

37、sSETshangpinhao='"+fields0.getText()+"',shangpinming='"+fields1.getText()+"',jinhuojia='"+fields2.getText()+“',shouji='"+fields3.getText()+"',zhekoujia='"+fields4.getText()+"',yuliang='"+fields5.getText()+“

38、',yuliangyujingzhi='"+fields6.getText()+"',gongyingshang='"+fields7.getText()+“'whereshangpinming='"+inputText.getText()+""'trysql.execute(sqlString);JOptionPane.showMessageDialog(this,"操作成功!","消息对话框”,JOptionPane.INFORMATION_ME

39、SSAGE);更新表格中的数据for(inti=deModel.getRowCount()-1;i>=0;i-)deModel.removeRow(i);deModel.fireTableStructureChanged();rs=sql.executeQuery("select*fromgoods");while(rs.next()for(intj=0;j<8;j+)stringsj=rs.getString(j+1);deModel.addRow(strings);deModel.fireTableStructureChanged();/更新中的数据catc

40、h(SQLExceptionee)ee.printStackTrace();for(inti=0;i<8;i+)fieldsi.setText("");fields0.setEditable(true);fields1.setEditable(true);inputText.setText("");fields0.requestFocus();/设置光标的位置,在第一个文本框上面elseif(e.getSource()=删除)StringsqlString="DELETEFROMgoodsWHEREshangpinming='&q

41、uot;+inputText.getText().trim()+""'trysql.execute(sqlString);将表格中的内容清空for(inti=deModel.getRowCount()-1;i>=0;i-)deModel.removeRow(i);deModel.fireTableStructureChanged();rs=sql.executeQuery("select*fromgoods");while(rs.next()for(inti=0;i<8;i+)stringsi=rs.getString(i+1);/把查询的结果填入表格中deModel.addRow(strings);deModel.fireTableStructureChanged();/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论