




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
榆林学院 课程设计报告 13级计本1班 李治生 榆林学院榆林学院超市库存管理系统专业:计算机科学与技术班级: 13级计本1班 学生姓名: 李 治 生 学 号:40*愿我们每个学子都能成为祖国的栋梁之才*一、 需求分析3二、 概要设计3三、 详细设计41、 数据库设计4 用户登录界面:6 进入主界面:9四、 软件测试39五、 总结40六、 附录:41 1、 需求分析本系统主要是用来帮助小型超市进行库存管理系统,能够有效的帮助小型超市进行库存管理!其中包括增删改查等基本的应用。极大的提高了超市的库存管理效率,节省了大量的时间。*2、 概要设计1、 本系统的每一个功能模块都包含了多个功能。整个系统主要完成对超市商品的日常管理,包括进货管理,库存管理和供应商管理等方面。在功能上系统可以完成对相关信息的浏览、查询、添加、删除、修改等功能。本课题的核心之一是销售管理、库存管理和进货管理三者之间的联系,同时系统有完整的用户管理功能。本系统采用java语言和SQLServer2008作为开发工具。这种系统优势在于系统比较简单,但功能强大,扩展性能也比较好,完全能够处理一般超市的日常任务2、 整体分为3个模块(货物,供应商,记录)每个模块之间相互关联,都有自己的增删改查!3、 程序流程图如下:3、 详细设计1、 数据库设计Goods表:Lzs(用户登录名,密码):Recond表():记录表Supplier(供应商表):用户登录界面:设计代码如下:package source;import java.awt.*;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 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(130,80,960,600);setVisible(true);setResizable(false);tryClass.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).getImage();登录 = 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(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(); 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 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,false,p,baseBox); split.setDividerLocation(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.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.showMessageDialog(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.event.*;import javax.swing.*;SuppressWarnings(serial)public class Function extends JFrame implements ActionListenerFont f;/菜单栏JMenuBar menubar;/菜单条JMenu 货物,供应商,记录; /菜单JMenuItem 货物管理,退出,供应商管理,查询记录,进货计划;/菜单项/Box box;JLabel label;ImagePanel p;/用于插入图片的面板/构造函数 Function()setLayout(new FlowLayout();init();setTitle(超市库存管理系统);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();/库房货物管理菜单货物 = 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); 供应商管理.addActionListener(this); 供应商.add(供应商管理); menubar.add(供应商); /货物进货、入库和出库记录查询菜单 记录 = new JMenu(记录); 记录.setFont(f2); 查询记录 = new JMenuItem(查询记录); 查询记录.setFont(f2); 查询记录.addActionListener(this); 进货计划 = new JMenuItem(进货计划); 进货计划.setFont(f2); 进货计划.addActionListener(this); 记录.add(查询记录); 记录.add(进货计划); menubar.add(记录); label = 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.getSource()=货物管理)goods goTable = new goods();goTable.setVisible(true);goTable.pack();else if(e.getSource()=查询记录)record reTable = new record();reTable.setVisible(true);reTable.pack();else if(e.getSource() =进货计划)plan plTable = new plan();plTable.setVisible(true);plTable.pack();else if(e.getSource()=退出)this.dispose();进入第一菜单(货物管理):在此菜单下,可进行货物的增删改查操作,设计代码如下: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 ActionListenerJTable 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;/拆分窗格DefaultTableModel 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.getDefaultToolkit();/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();void 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);修改.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(确认修改);add(p,BorderLayout.SOUTH);labels0 = new JLabel(货物号);labels1 = new JLabel(货物名);labels2 = new JLabel(进货价);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(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(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,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(this, 数据库连接成功!,消息对话框,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(strings); 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.getString(i+1);if(strings1.trim().compareTo(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.fireTableStructureChanged();/更新中的数据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.fireTableStructureChanged();/更新中的数据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.awt.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 strings = 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.SQLServerDriver; 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);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(确认修改);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(确认修改);add(p,BorderLayout.SOUTH);/labels0 = new JLabel(添加时间);labels0 = new JLabel(供应商);labels1 = new JLabel(联系电话);labels2 = new JLabel(地址);labels3 = new JLabel(邮箱);labels4 = new JLabel(备注);for(int i = 0;i5;i+)fieldsi = new JTextField(20);/用盒式容器装要录入的数据和标签box1 = Box.createVerticalBox();box1.add(Box.createVerticalStrut(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); baseBox.add(Box.createHorizontalStrut(15); baseBox.add(box2); /添加表格 add(baseBox,BorderLayout.EAST); deModel = new DefaultTableModel(name,0);table = new JTable(deModel);table.set
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 非木浆净化工艺考核试卷及答案
- 豆制品酶法脱脂工艺优化实验工艺考核试卷及答案
- 陶瓷烧成工培训考核试卷及答案
- 碱金属卤化物硝化工艺考核试卷及答案
- 刨花板热压工数字化技能考核试卷及答案
- 项目部资金管理及新公司财务事项相关填空题测试卷
- 2025-2026学年赣美版(2024)小学美术三年级上册《活字印古籍》教学设计
- 银行移动营销试题及答案
- 金融专业自荐试题及答案
- 焊接专业试题及答案
- Unit 3 Places we live in单元整体公开课一等奖创新教学设计表格式(5课时)
- 2025年4月自考02204经济管理试题及答案
- 统战工作培训课件
- 2025年市级科技馆招聘笔试重点
- 2025西电考试题及答案
- 泡茶的步骤课件
- 人教版(2024)八年级上册数学全册教案
- (高清版)DB11∕T 2440-2025 学校食堂病媒生物防制规范
- GB/T 7324-2010通用锂基润滑脂
- 高压燃气管道带压不停输封堵改管技术
- 测绘生产成本费用定额计算细则
评论
0/150
提交评论