一个非常简单的超市销售系统,只涉及增删改查。

1. 登录
两种方式登录系统,这里主要分享管理员登录

最简单的方法,指定账号密码

        JButton button_login = new JButton("登录");button_login.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {String name = textField_username.getText();String password= passwordField.getText();if (name.equals("1234") && password.equals("1234")){ GoodsManagerJframe mainJframe = new GoodsManagerJframe(); mainJframe.setVisible(true);  dispose();}else {JOptionPane.showMessageDialog(null, "用户名或密码错误!", "标题",JOptionPane.WARNING_MESSAGE);  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);                            }}          });

2.菜单
商品的增删改查

3.商品入库(最简单
向输入框中输入商品信息,保存即可

添加数据库SQL语句

public void JDBCSQLAdd throws ClassNotFoundException, SQLException {// 添加商品String sql = "INSERT INTO `goodstable` VALUES(?,?,?,?)";// 添加语句statement = con.prepareStatement(sql);statement.setString(1, number1);statement.setString(2, name1);statement.setString(3, price1);statement.setString(4, stock1);int n = statement.executeUpdate();if (n > 0) {System.out.println("商品入库成功!");} else {System.out.println("商品入库失败!");}}

窗口事件处理

//添加事件处理private void GoodsTypeAddActionEvent(ActionEvent e) {String number= textField_number.getText();String name = textField_name.getText();String price= textField_price.getText();String stock= textField_stock.getText();if(StringUtil.isEmpty(number)) {JOptionPane.showMessageDialog(null, "商品信息不能为空!");return;}//JDBCSQLAdd add=new JDBCSQLAdd();AddDao add=new AddDao();try {add.JDBCSQLAdd(number,name,price,stock);} catch (ClassNotFoundException | SQLException e1) {e1.printStackTrace();}JOptionPane.showMessageDialog(null, "商品已入库!", "标题",JOptionPane.PLAIN_MESSAGE);this.resetValue();this.Table(new Goods());}//初始化表格public void Table(Goods goods) {DefaultTableModel dtm=(DefaultTableModel) table.getModel();dtm.setRowCount(0);        Connection con=null;try {con=dbUtil.getCon();ResultSet rs=queryDao.list1(con, goods);while(rs.next()) {Vector v =new Vector();v.add(rs.getString ("Number"));v.add(rs.getString ("Name"));v.add(rs.getString ("Price"));v.add(rs.getString("Stock"));dtm.addRow(v);}}catch(Exception e) {e.printStackTrace();}finally{try {         dbUtil.close(con);;} catch (Exception e) {e.printStackTrace();}}            }//重置表单private void resetValue(){this.textField_number.setText("");this.textField_name.setText("");this.textField_price.setText("");this.textField_stock.setText("");}

4.查询商品
按名称查找

查找数据库SQL语句

public class QueryDao {//按名称查找public ResultSet list(Connection con,Goods goods) throws SQLException {StringBuffer sb =new StringBuffer("select * from goodstable where Name like '%"+goods.getName()+"%'");PreparedStatement pstmt=con.prepareStatement(sb.toString());return pstmt.executeQuery();}

窗口事件处理

//商品搜索事件处理private void GoodsSearchActionPerformed(ActionEvent evt) {String Name=this.textField_name.getText();  Goods goods=new Goods();goods.setName(Name);if(StringUtil.isEmpty(Name)) {JOptionPane.showMessageDialog(null, "请输入商品名称!");return;}else {this.resetValue();this.Table(goods);}}
//初始化表格public void Table(Goods goods) {DefaultTableModel dtm=(DefaultTableModel) bookTypeTable.getModel();dtm.setRowCount(0);Connection con=null;try {con=dbUtil.getCon();ResultSet rs=goodsTypeDao.list(con, goods);while(rs.next()) {Vector v =new Vector();v.add(rs.getInt ("Number"));v.add(rs.getString ("Name"));v.add(rs.getString ("Price"));v.add(rs.getString ("Stock"));dtm.addRow(v);}}catch(Exception e) {e.printStackTrace();}finally{try {          dbUtil.close(con);;} catch (Exception e) {e.printStackTrace();}}}//刷新表格private void resetValue(){this.textField_name.setText("");}

5.商品出库
先按名称查找到需要删除的商品,随即删除

删除数据库SQL语句

public class DeleteDao {public int delete(Connection con,Goods goods) throws SQLException {String sql="DELETE FROM `goodstable`  WHERE Name=  ?  ";PreparedStatement pstmt=con.prepareStatement(sql);     pstmt.setString(1, goods.getName());        return pstmt.executeUpdate();}
}

窗口事件处理

//删除事件处理private void GoodsDeleteActionPerformed(ActionEvent e) {String name= textField_name.getText();textField_name.setText("");                         DeleteDao d=new DeleteDao();try {          d.JDBCSQLDelete(name);JOptionPane.showConfirmDialog(null, "确定要删除该记录吗?");} catch (SQLException e1) {e1.printStackTrace();} catch (ClassNotFoundException e1) {e1.printStackTrace();}if(StringUtil.isEmpty(name)) {JOptionPane.showMessageDialog(null, "商品出库成功!", "标题",JOptionPane.PLAIN_MESSAGE);}else {this.resetValue();this.Table(new Goods());}}
//查找事件处理private void GoodsSearchActionPerformed(ActionEvent e) {String Name=this.textField_name.getText(); Goods goods=new Goods();goods.setName(Name);      this.resetValue();this.Table(goods);}//初始化表格public void Table(Goods goods) {DefaultTableModel dtm=(DefaultTableModel) table.getModel();dtm.setRowCount(0);Connection con=null;try {con=dbUtil.getCon();ResultSet rs=goodsTypeDao.list(con, goods);while(rs.next()) {Vector v =new Vector();v.add(rs.getString ("Number"));v.add(rs.getString ("Name"));v.add(rs.getString ("Price"));v.add(rs.getString ("Stock"));dtm.addRow(v);}}catch(Exception e) {e.printStackTrace();}finally{try {           dbUtil.close(con);;} catch (Exception e) {e.printStackTrace();}}}//刷新表格private void resetValue(){this.textField_number.setText("");this.textField_name.setText("");this.textField_price.setText("");this.textField_stock.setText("");}

6.修改商品(最难
修改前要查找(按名称查找),点击表格获取商品信息,点击商品编号或者商品名称、商品单价、商品库存可以进行修改,修改成功自动保存并且修改数据库中的数据

修改数据库SQL语句

public class UpdateDao {public int update(Connection con,Goods goods) throws SQLException {String sql="update goodstable set Name=?,Price=?,Stock=?  where Number=?";PreparedStatement pstmt=con.prepareStatement(sql);      pstmt.setString(1, goods.getName());pstmt.setString(2, goods.getPrice());pstmt.setString(3, goods.getStock());pstmt.setInt(4,goods.getNumber());            return pstmt.executeUpdate();}
}

窗口事件处理

//修改事件private void GoodsUpdateActionPerformed(ActionEvent e) {String Number= textField_u_number.getText();String Name = textField_u_name.getText();String Price= textField_u_price.getText();String Stock= textField_u_stock.getText();if(StringUtil.isEmpty(Number)) {JOptionPane.showMessageDialog(null, "请选择要修改的记录");return;}Goods goods=new Goods(Integer.parseInt(Number),Name,Price,Stock);Connection con=null;try {con=dbUtil.getCon();int modifyNum=updateDao.update(con, goods);if(modifyNum==1) {JOptionPane.showMessageDialog(null, "修改成功");this.resetValueUpdate();this.fillTable1(new Goods());}else {JOptionPane.showMessageDialog(null, "修改失败");}} catch (Exception e1) {e1.printStackTrace();}
//查找事件private void GoodsSearchActionPerformed(ActionEvent e) {String Name=this.textField_s_name.getText(); Goods goods=new Goods();goods.setName(Name);                           this.resetValueQuery();this.Table(goods);}
//初始化查询表格public void Table(Goods goods) {DefaultTableModel dtm=(DefaultTableModel) table.getModel();dtm.setRowCount(0);        Connection con=null;try {con=dbUtil.getCon();ResultSet rs=queryDao.list(con, goods);while(rs.next()) {Vector v =new Vector();v.add(rs.getString ("Number"));v.add(rs.getString ("Name"));v.add(rs.getString ("Price"));v.add(rs.getString("Stock"));dtm.addRow(v);}}catch(Exception e) {e.printStackTrace();}finally{try {          dbUtil.close(con);;} catch (Exception e) {e.printStackTrace();}}            }//初始化修改表单public void fillTable1(Goods goods) {DefaultTableModel dtm=(DefaultTableModel) table.getModel();dtm.setRowCount(0);      Connection con=null;try {con=dbUtil.getCon();ResultSet rs=queryDao.list1(con, goods);while(rs.next()) {Vector v =new Vector();v.add(rs.getString ("Number"));v.add(rs.getString ("Name"));v.add(rs.getString ("Price"));v.add(rs.getString("Stock"));dtm.addRow(v);}}catch(Exception e) {e.printStackTrace();}finally{try {         dbUtil.close(con);;} catch (Exception e) {e.printStackTrace();}}            }
//重置更新表单private void resetValueUpdate(){this.textField_u_number.setText("");this.textField_u_name.setText("");this.textField_u_price.setText("");this.textField_u_stock.setText("");}
//重置查询表单private void resetValueQuery(){this.textField_s_name.setText("");
}

源码连接
链接: https://pan.baidu.com/s/1iM0kv1nmZsmWZcOIwEsAvQ?pwd=cikr 提取码: cikr 复制这段内容后打开百度网盘手机App,操作更方便哦

开发工具:eclipse
数据库:Access、连接ODBC

JAVA+SWING超市销售管理系统开发(JAVA实训作业增删改查)相关推荐

  1. python最强实训程序(增删改查)机房收费管理系统-基于tkinter的图形化界面(附详细代码)

    python最强实训程序(增删改查)机房收费管理系统-基于tkinter的图形化界面(附详细代码) 最近学校实训,用两天时间做了一个python小程序*机房收费管理系统*,一款基于tkinter使用p ...

  2. JAVA课程设计——农村人口管理系统 D4 功能实现(户头增删改查)

    上一篇,操作员页面设计 现在我们就来实现一下对户头的增删改查. 目录 添加户头 增加户头页面设计: 增加户头功能设计 Host 显示户头 1.显示户头的页面设计 2.显示户头功能设计 删除户头 1.删 ...

  3. java实现对HDFS增删改查(CRUD)等操作

    实现对HDFS增删改查CRUD等操作 1 查找 列出某个目录下的文件名称,hdfs命令如下所示: hdfs dfs –ls/usr/app java代码片段: [plain] view plain c ...

  4. abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之六(三十二)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...

  5. Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作

    此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面 ...

  6. Java中的sqlsession_java相关:MyBatis中SqlSession实现增删改查案例

    java相关:MyBatis中SqlSession实现增删改查案例 发布于 2020-6-13| 复制链接 摘记: 前言     开博客这是第一次写系列文章,从内心上讲是有点担心自己写不好,写不全,毕 ...

  7. java对mysql进行查找替换_java对mysql的增删改查

    -----连接数据库 package connectdb; import java.sql.*; class Dbcon { // 此处连接数据库,独立开一个类,以后操作数据库的每次连接就不用写这么多 ...

  8. 如何基于Restful ABAP Programming模型开发并部署一个支持增删改查的Fiori应用

    Jerry之前的文章30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用 发布之后,有朋友问我,"没错, 我是在你的文章里看到了Fiori应用的 ...

  9. 实现对mysql增删改查_Java语言实现对MySql数据库中数据的增删改查操作的代码

    简单说操作的步骤: 1.连接数据库 2.将SQL语句发送到数据库 3.执行SQL语句 这里举个例子: 在一个数据库中有个students表,表中有学号(Id),姓名(Name),性别(Sex),地址( ...

最新文章

  1. 了解这些,你就可以在Spring启动时为所欲为了
  2. 中国游戏中心让计算机死机,win10玩游戏不定时死机
  3. 【转载】目前为止看到描述VSCode编写C++配置文件最清楚的一篇文章
  4. vb 访问远程计算机,vb 怎么访问远程电脑SQL SERVER数据库
  5. 容灾与备份究竟有什么区别?
  6. java类是如何加载的?不知道classLoader和双亲委派,不是一个合格的程序员
  7. Flash 组件应用与开发
  8. 2977,3110 二叉堆练习1,3——codevs
  9. 为 ASP.NET 创建缓存配置对象[转载]
  10. 第八章 深度强化学习-Nature深度Q网络(Nature DQN)
  11. Raki的读paper小记:CLASSIC: Continual and Contrastive Learning of Aspect Sentiment Classification Tasks
  12. VS2017 Community C++模块 离线打包安装
  13. iec104点号_IEC104规约报文说明(104报文解释的较好的文本)
  14. 计算机启动很慢,win7开机慢解决方法
  15. 龙之谷怎么进去服务器维护,龙之谷端游服务器爆满怎么进
  16. linux 清空stdin缓冲,清除stdin缓存中的数据
  17. ISLR 读书笔记二:评估模型的准确性
  18. Unirech腾讯云代充-云服务器登陆及远程连接常见问题
  19. CE是什么缩写,是什么含义
  20. 学习C++:C++进阶(三)CMake基础篇---用一个小型项目了解CMake及环境构建

热门文章

  1. 使用Docker 镜像
  2. Redis | 第6章 事件与客户端《Redis设计与实现》
  3. 苹果在线签名服务器搭建,苹果iOS企业签名 、apple 超级签名网站服务器选用
  4. 拨开云雾学习之虚拟内存
  5. Jmeter分布式配置总结
  6. C++ 哈希表及unordered_set + unordered_map容器
  7. C语言实现大小写转换,如果输入的不是字母就重新输入
  8. element ui textarea文本域显示滚动条
  9. 中国健康与营养调查数据库(CHNS)89-15年
  10. C语言程序设计教程(第三版)课后习题11.1