JAVA+SWING超市销售管理系统开发(JAVA实训作业增删改查)
一个非常简单的超市销售系统,只涉及增删改查。
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实训作业增删改查)相关推荐
- python最强实训程序(增删改查)机房收费管理系统-基于tkinter的图形化界面(附详细代码)
python最强实训程序(增删改查)机房收费管理系统-基于tkinter的图形化界面(附详细代码) 最近学校实训,用两天时间做了一个python小程序*机房收费管理系统*,一款基于tkinter使用p ...
- JAVA课程设计——农村人口管理系统 D4 功能实现(户头增删改查)
上一篇,操作员页面设计 现在我们就来实现一下对户头的增删改查. 目录 添加户头 增加户头页面设计: 增加户头功能设计 Host 显示户头 1.显示户头的页面设计 2.显示户头功能设计 删除户头 1.删 ...
- java实现对HDFS增删改查(CRUD)等操作
实现对HDFS增删改查CRUD等操作 1 查找 列出某个目录下的文件名称,hdfs命令如下所示: hdfs dfs –ls/usr/app java代码片段: [plain] view plain c ...
- abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之六(三十二)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...
- Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作
此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面 ...
- Java中的sqlsession_java相关:MyBatis中SqlSession实现增删改查案例
java相关:MyBatis中SqlSession实现增删改查案例 发布于 2020-6-13| 复制链接 摘记: 前言 开博客这是第一次写系列文章,从内心上讲是有点担心自己写不好,写不全,毕 ...
- java对mysql进行查找替换_java对mysql的增删改查
-----连接数据库 package connectdb; import java.sql.*; class Dbcon { // 此处连接数据库,独立开一个类,以后操作数据库的每次连接就不用写这么多 ...
- 如何基于Restful ABAP Programming模型开发并部署一个支持增删改查的Fiori应用
Jerry之前的文章30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用 发布之后,有朋友问我,"没错, 我是在你的文章里看到了Fiori应用的 ...
- 实现对mysql增删改查_Java语言实现对MySql数据库中数据的增删改查操作的代码
简单说操作的步骤: 1.连接数据库 2.将SQL语句发送到数据库 3.执行SQL语句 这里举个例子: 在一个数据库中有个students表,表中有学号(Id),姓名(Name),性别(Sex),地址( ...
最新文章
- 了解这些,你就可以在Spring启动时为所欲为了
- 中国游戏中心让计算机死机,win10玩游戏不定时死机
- 【转载】目前为止看到描述VSCode编写C++配置文件最清楚的一篇文章
- vb 访问远程计算机,vb 怎么访问远程电脑SQL SERVER数据库
- 容灾与备份究竟有什么区别?
- java类是如何加载的?不知道classLoader和双亲委派,不是一个合格的程序员
- Flash 组件应用与开发
- 2977,3110 二叉堆练习1,3——codevs
- 为 ASP.NET 创建缓存配置对象[转载]
- 第八章 深度强化学习-Nature深度Q网络(Nature DQN)
- Raki的读paper小记:CLASSIC: Continual and Contrastive Learning of Aspect Sentiment Classification Tasks
- VS2017 Community C++模块 离线打包安装
- iec104点号_IEC104规约报文说明(104报文解释的较好的文本)
- 计算机启动很慢,win7开机慢解决方法
- 龙之谷怎么进去服务器维护,龙之谷端游服务器爆满怎么进
- linux 清空stdin缓冲,清除stdin缓存中的数据
- ISLR 读书笔记二:评估模型的准确性
- Unirech腾讯云代充-云服务器登陆及远程连接常见问题
- CE是什么缩写,是什么含义
- 学习C++:C++进阶(三)CMake基础篇---用一个小型项目了解CMake及环境构建