版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、:学院榆林学院超市库存治理系统专 业:计算机科学与技术1班 级: 13级计本1班学生姓名:李治生学 号:1312210142需求分析3概要设计3三、详细设计41、数据库设计4用户登录界面:6进入主界面: 9四、软件测试39五、总结40六、 附录:41本系统主要是用来帮助小型超市进行库存治理系统,能够有效的帮助小型超市进行库存管理!其中包括增删改查等根本的应用.极大的提升了超市的库存治理效率,节省了大量的时间.*二、概要设计1、本系统的每一个功能模块都包含了多个功能.整个系统主要完成对超市商品的日常 治理,包括进货治理,库存治理和供给商治理等方面.在功能上系统可以完成对相关信息的浏览、查询、添加
2、、删除、修改等功能.本课题的核心之一是销售治理、库存治理和进货管理三者之间的联系,同时系统有完整的用户治理功能.本系统采用java语言和SQL Server 2021作为开发工具.这种系统优势在于系统比拟简单,但功能强大,扩展性能也比拟好,完全能够处理一般超市的日常任务2、整体分为3个模块货物,供给商,记录每个模块之间相互关联,都有自己的增删改查!3、程序流程图如下:三、详细设计1、数据库设计Goods 表:2021-20211114WFLZStLZ - dbo.goods列名数据类用允许M值intnthartgpunmngchar(10)回jnhijojiamt胡shcLriiint国zhe
3、koLijiaint国yiiliangint国yuliangyujirigzhiint国gongyingshangndiar(lQ)国ELzs 用户登录名,密码2021-20211114WI允许Nul值2021-20211I14WFLZS.LZS - dbo.lzs列名数据类型nchar(10)ndiar(lO)Recond表:记录表2021 20211114WFLZS.LZS - dbo.record2O13-2O151114WFLZS.L2列名数据类型允许Ml值 Onvarchar(50)0shangpinmingnvarchar(50)0gongyingshangnvarchar(50)
4、国一caoztionvarchar(M)阿一小必Mnvarchar(50)ECSupplier (供给商表)20U:0151114WFLNS - dbo.supplier 2021-2021H14WFLZS.L7S - dbc列名数据类型允许Null值shijian;nvarchar(50)国gongyngshangnvardiar(SO)国lianxidianhuanvardiar(SO)回dizhinvardiar(50)回yotixiangnvardiar(SO)国beizhunvardiar(SO)匣1用户登录界面:设计代码如下:package source;import java.a
5、wt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;SuppressWarnings(serial)public class loginframe extends JFrame implements ActionListener JTextField 用户名;JPasswordField 密码;JButton登录,重置;Box baseBox,box1,box2,box3;/ 盒式布局ImagePanel p;/用于插入图片的面板JSplitPane split;/ 拆分窗格Font f;/设置字体JLabel
6、 userName,psw;Function wMain;Connection con;Statement sql;ResultSet rs;String dbdriver = com.microsoft.sqlserver.jdbc.SQLServerDriver;String dburl = jdbc:sqlserver:/localhost:1433;DatabaseName=LZS;String user = sa;String pass = 123;public loginframe() (setLayout(new FlowLayout(); init();setBounds(13
7、0,80,960,600);setVisible(true); setResizable(false); try(Class.forName(dbdriver); catch(ClassNotFoundException classnotfound)System.out.println(未能找到 SQLServerDriver,请检查是否已加载SQLServer驱动) void init()f = new Font(幼圆,Font.BOLD,18);p = new ImagePanel(new ImageIcon(E:/Java 文件 /SuperMarket/picture/1.jpg).g
8、etImage();登录 =new JButton(登录);登录.addActionListener(this);重置 =new JButton(重置);重置.addActionListener(this);用户名 =new JTextField(16);用户名.setFont(f);密码 =new JPasswordField(16);userName = new JLabel(用户名:);userName.setFont(f);psw = new JLabel(密码:);psw.setFont(f);box1 = Box.createVerticalBox();box1.add(userN
9、ame);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();box3.add(登录);box3.add(Box.createHorizonta
10、lStrut(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 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,false,p,baseBox);split.setDividerLocation
11、(0.5);add(split,BorderLayout.PAGE_START);)public void actionPerformed(ActionEvent e) (if(e.getSource()= 登录)String Uname =用户名.getText().trim();charpsw =密码.getPassword();String password = new String(psw);trycon =DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName=LZS,sa,123);System
12、.out.println(数据库连接成功!);sql=con.createStatement();String string = SELECT * FROM lzs WHERE Uname= +Uname+ AND mima =+passWord+;rs = sql.executeQuery(string);if(rs.next()wMain = new Function();wMain.setTitle(超市库存治理系统);wMain.setVisible(true);this.dispose();/ wMain.pack();) elseJOptionPane.showMessageDia
13、log(this,您输入的用密码不正确,警告对话框,JOptionPane.WARNING_MESSAGE);密码.setText(null);密码.requestFocus();con.close();)catch(SQLException ee)ee.printStackTrace();else if(e.getSource()= 重置 ) 用户名.setText();密码.setText();进入主界面:第一菜单货物第二菜单供给商金超市序与昔理察晚一供青两虹第三菜单记录设计代码如下:package source;import java.awt.*;import java.awt.even
14、t.*;import javax.swing.*;SuppressWarnings(serial)public class Function extends JFrame implements ActionListenerFont f;菜单栏JMenuBar menubar;/ 菜单条JMenu货物供给商,记录;菜单JMenuItem货物治理,退出,供给商治理,查询记录,进货方t划;菜单项/Box box;JLabel label;ImagePanel p;/用于插入图片的面板/构造函数Function()(setLayout(new FlowLayout();init();setTitle(
15、超市库存治理系统);setLocation(20,30);setSize(1200,800);setBounds(130,80,960,600);setVisible(true);setResizable(false);void init()(menubar = new JMenuBar();f = new Font(华文行楷,Font.BOLD,50);Font f2 = new Font(宋体,0,12);p = new ImagePanel(new ImageIcon(E:Java 文件 /SuperMarket/picture/ 2.jpg).getImage();/库房货物治理菜单货
16、物 =new JMenu(货物);货物.setFont(f2);货物治理 =new JMenuItem(货物治理);货物治理.setFont(f2);货物治理.addActionListener(this);退出=new JMenuItem(退出);退出.setFont(f2);退出.addActionListener(this);货物.add(货物治理);货物.add(退出);menubar.add(货物);/货物供给商菜单供给商 =new JMenu(供给商);供给商.setFont(f2);供给商治理 =new JMenuItem(供给商治理);供给商治理.setFont(f2);供给商
17、治理.addActionListener(this);供给商.add(供给商治理);menubar.add(供给商);/货物进货、入库和出库记录查询菜单记录 =new JMenu(记录);记录.setFont(f2);查询记录 =new JMenuItem(查询记录);查询记录.setFont(f2);查询记录.addActionListener(this);进货方案 =new JMenuItem(进货方案);进货方案.setFont(f2);进货方案.addActionListener(this);记录.add(查询记录);记录.add(进货at划);menubar.add(记录);labe
18、l = new JLabel(欢送进入超市库存治理系统);label.setFont(f);p.add(label);label.setBounds(300,400,800,200);add(p,BorderLayout.CENTER); setJMenuBar(menubar);public void actionPerformed(ActionEvent e)if(e.getSource(尸供给商治理)SupplierManage smTable = new SupplierManage();smTable.setVisible(true);smTable.pack();else if(e
19、.getSource()=W1f )goods goTable = new goods();goTable.setVisible(true);goTable.pack();else if(e.getSource()=llrWiE )record reTable = new record();reTable.setVisible(true);reTable.pack();else if(e.getSource()=进货计戈U )plan plTable = new plan();plTable.setVisible(true);plTable.pack();else if(e.getSource
20、()=退出)this.dispose();)进入第一菜单(货物治理)口后市庄整堂晚造物卸2厨记录在此菜单下,可进行货物的增删改查操作,设计代码如下:package source;import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;import javax.swing.table.DefaultTableModel;SuppressWarnings(serial)public class goods extends JFrame implements ActionListenerJTab
21、le table;JLabel label;JTextField inputText;String name = 货物号,货物名,进货价,售价,折扣价,余量,余量预警值,供给 商;String strings = new String8;JButton添加,修改 删除,退出,确认修改;JPanel p;JLabel labels = new JLabel8;JTextField fields = new JTextField8;Box baseBox,box1,box2;ImagePanel pp;/用于插入图片的面板JSplitPane split;/ 拆分窗格DefaultTableMod
22、el deModel = null;Connection con;Statement sql;ResultSet rs;String dbdriver = com.microsoft.sqlserver.jdbc.SQLServerDriver;String dburl = jdbc:sqlserver:localhost:1433;DatabaseName=LZS;String user = sa;String pass = 123;goods()setLayout(new BorderLayout();init();/Toolkit tk = Toolkit.getDefaultToolk
23、it();/Image img = 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(ClassNotFoundException classnotfound)classnotfound.printStackTrace();)v
24、oid init()(pp = new ImagePanel(new ImageIcon(E:/Java 文件 /SuperMarket/picture/ 2.jpg).getImage();添力口 = new JButton(添力口);修改=new JButton(修改);删除=new JButton(删除);退出=new JButton(退出);确认修改 =new JButton(确认修改);label = new JLabel(请输入想要删除或修改的货物名:);inputText = new JTextField(8);添力口 .addActionListener(this);修改.ad
25、dActionListener(this);删除.addActionListener(this);退出.addActionListener(this);确认修改.addActionListener(this);p = new JPanel();p.add(label);p.add(inputText);p.add(添加);p.add(修改);p.add(删除);p.add(退出);p.add(确认修改);add(p,BorderLayout.SOUTH);labels0 = new JLabel(货物号);labels1 = new JLabel(货物名);labels2 = new JLab
26、el(进货价);labels3 = new JLabel(售价);labels4 = new JLabel(折扣价);labels5 = new JLabel(余量);labels6 = new JLabel(余量预警值);labels7 = new JLabel(供给商);for(int i = 0;i8;i+)fieldsi = new JTextField(20);)/用盒式容器装要录入的数据和标签box1 = Box.createVerticalBox();box1.add(Box.createVerticalStrut(15);for(int i = 0;i8;i+)box1.add
27、(labelsi);box1.add(Box.createVerticalStrut(35);)box2 = Box.createVerticalBox();box2.add(Box.createVerticalStrut(10);for(int i = 0;i8;i+)box2.add(fieldsi);box2.add(Box.createVerticalStrut(14); )baseBox = Box.createHorizontalBox();baseBox.add(box1);baseBox.add(Box.createHorizontalStrut(15);baseBox.add
28、(box2);/添加表格add(baseBox,BorderLayout.EAST);deModel = new DefaultTableModel(name,0);table = new JTable(deModel);table.setCellSelectionEnabled(false);table.setEnabled(false);table.setShowHorizontalLines(true);table.setShowVerticalLines(true);add(new JScrollPane(table),BorderLayout.CENTER);split = new
29、JSplitPane(JSplitPane.HORIZONTAL_SPLIT,false,new JScrollPane(table),baseBox);split.setDividerLocation(0.5);add(split,BorderLayout.CENTER);String sqlString = select * from goods; try/连接数据库con = DriverManager.getConnection(dburl, user, pass);sql = con.createStatement();JOptionPane.showMessageDialog(th
30、is,数据库连接成功!,消息对话框 ,JOptionPane.INFORMATION_MESSAGE);rs = sql.executeQuery(sqlString);while(rs.next()for(int i = 0;i=0;i-)deModel.removeRow(i);deModel.fireTableStructureChanged();rs = sql.executeQuery(select * from goods);while(rs.next()for(int j = 0;j8;j+)stringsj=rs.getString(j+1);deModel.addRow(st
31、rings);deModel.fireTableStructureChanged();/ 更新中的数据 catch(SQLException ee)ee.printStackTrace();for(int i = 0;i8;i+)fieldsi.setText();fields0.requestFocus();/设置光标的位置,在第一个文本框上面else if(e.getSource()=修改) tryrs = sql.executeQuery(select * from goods);while(rs.next()for(int i = 0;i8;i+)stringsi=rs.getStri
32、ng(i+1);if(strings1.trim() pareTo(inputText.getText().trim()=0)for(int i = 0;i=0;i-) deModel.removeRow(i);deModel.fireTableStructureChanged();rs = sql.executeQuery(select * from goods);while(rs.next()for(int j = 0;j8;j+)stringsj=rs.getString(j+1);deModel.addRow(strings);deModel.fireTableStructureCha
33、nged();/ 更新中的数据 catch(SQLException ee) ee.printStackTrace(); for(int i = 0;i=0;i-)deModel.removeRow(i);deModel.fireTableStructureChanged();rs = sql.executeQuery(select * from goods);while(rs.next()for(int i = 0;i8;i+)stringsi=rs.getString(i+1);/把查询的结果填入表格中 deModel.addRow(strings);deModel.fireTableSt
34、ructureChanged();/ 更新中的数据 JOptionPane.showMessageDialog(this,操作成功!,消息对话框 ,JOptionPane.INFORMATION_MESSAGE);inputText.setText();catch(SQLException ee) ee.printStackTrace();else if(e.getSource()=退出)this.dispose();进入第二菜单(供给商治理界面):在此界面下可进行供给商的增删改查操作:设计代码如下:package source;import java.awt.*;import java.aw
35、t.event.*;import java.sql.*;import javax.swing.*;import javax.swing.table.DefaultTableModel;import java.util.Date;SuppressWarnings(serial)public class SupplierManage extends JFrame implements ActionListenerJTable table;JLabel label;JTextField inputText;String name = 添加时间,供给商,联系 ,地址,邮箱,备注;String stri
36、ngs = new String6;JButton修改,删除,添加,退出,确认修改;JPanel p;JLabel labels = new JLabel5;JTextField fields = new JTextField5;Box baseBox,box1,box2;JSplitPane split;/ 拆分窗格DefaultTableModel deModel = null;Connection con;Statement sql;ResultSet rs;Date date;String dbdriver = com.microsoft.sqlserver.jdbc.SQLServe
37、rDriver;String dburl = jdbc:sqlserver:localhost:1433;DatabaseName=LZS;String user = sa;String pass = 123;SupplierManage() setLayout(new BorderLayout();init();Toolkit tk = Toolkit.getDefaultToolkit();招聘Image img = tk.getImage(C:/Documents and Settings/Administrator/workspace/ 求职治理系统 /picture/ 003.jpg
38、);setIconImage(img);setTitle(供给商治理);setBounds(130,80,960,600);setResizable(false);tryClass.forName(dbdriver);catch(ClassNotFoundException classnotfound) classnotfound.printStackTrace(); void init() 修改 =new JButton(修改);删除=new JButton(删除);添加 =new JButton(添加); 退出=new JButton(退出); 确认修改 =new JButton(确认修改
39、); label = new JLabel(请输入想要删除或修改的供给商:);inputText = new JTextField(6);修改.addActionListener(this);删除.addActionListener(this);添力口 .addActionListener(this);退出.addActionListener(this);确认修改.addActionListener(this);p = new JPanel();p.add(label);p.add(inputText);p.add(修改);p.add(删除);p.add(添加);p.add(退出);p.add
40、(确认修改);add(p,BorderLayout.SOUTH);/labels0 = new JLabel(添加时间);labels0 = new JLabel(供给商);labels1 = new JLabel(联系 );labels2 = new JLabel(地址);labels3 = new JLabel(由B箱);labels4 = new JLabel(备注);for(int i = 0;i5;i+)fieldsi = new JTextField(20);/用盒式容器装要录入的数据和标签box1 = Box.createVerticalBox();box1.add(Box.cr
41、eateVerticalStrut(15);for(int i = 0;i5;i+)box1.add(labelsi);box1.add(Box.createVerticalStrut(70);box2 = Box.createVerticalBox();box2.add(Box.createVerticalStrut(10);for(int i = 0;i5;i+)box2.add(fieldsi);box2.add(Box.createVerticalStrut(60);baseBox = Box.createHorizontalBox();baseBox.add(box1);baseBo
42、x.add(Box.createHorizontalStrut(15);baseBox.add(box2);/添加表格add(baseBox,BorderLayout.EAST);deModel = new DefaultTableModel(name,0);table = new JTable(deModel);table.setCellSelectionEnabled(false);table.setEnabled(false);table.setShowHorizontalLines(true);table.setShowVerticalLines(true);/add(new JScrollPane(table),BorderLayout.CENTER);split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,false,newJScrollPane(table),baseBox);split.setDividerLocation(0.5);add(split,BorderLayout.CENTER);String sqlStrin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 31301.1-2026制鞋机械安全要求第1部分:绷帮机
- T/ZJNJ 0028-2024山地连栋钢架大棚
- T/ICMTIA SM0028-2022集成电路用电子级多晶硅
- T/CMEAS 059-2025非血缘脐带血移植中脐带血选择指南
- T/CASME 1604-2025“冻转鲜”糕点生产技术规范
- T/CSES 221-2025全国碳排放权交易市场 水泥行业碳排放联合监测法(及应用规范)
- GB/T 10878-2026气瓶锥螺纹丝锥
- 2025~2026学年广东省汕尾市陆丰市碣石镇人教版三年级上册10月月考数学试卷(一)【附答案】
- 2026学年甘肃省敦煌市四年级数学期末提升重点黑金模拟题附答案详细答案和解析
- PHP基础期末考试试题(含详细答案)
- 亚历山大病的护理
- 2026安徽省交控建设管理有限公司校园招聘5人笔试历年参考题库附带答案详解
- 群体免疫疗法图解
- 听力损失成人听觉言语能力评估方法的专家共识
- 舞台剧舞美技术执行手册
- 老旧小区火灾扑救
- GB/T 5783-2025紧固件六角头螺栓全螺纹
- 2026年分布式光伏电站运维合同
- 传统文化服饰设计与创新应用
- SJG 77-2020房屋建筑工程造价文件分部分项和措施项目划分标准
- T∕HNSKJX 005-2025 玳玳花膏规范
评论
0/150
提交评论