java+mysql中商品库存管理系统中mySQL有商品和库存表,如何在修改功能中先输入修改的编号使得两个表中相同的编号数据都修改
时间: 2024-05-06 09:15:15 浏览: 56
在Java+MySQL中实现商品库存管理系统的修改功能,可以采用如下步骤:
1. 获取用户输入的修改编号和修改的信息。
2. 使用Java JDBC连接到MySQL数据库,并且查询商品和库存表中是否存在该编号的记录。
3. 如果存在该记录,则使用SQL语句更新商品和库存表中的数据,例如:
```sql
UPDATE 商品表 SET 商品名称='新的商品名称', 商品价格=88 WHERE 商品编号=123;
UPDATE 库存表 SET 库存数量=100 WHERE 商品编号=123;
```
4. 如果修改成功,则提示用户修改成功;否则,提示用户修改失败。
下面是一个简单的Java代码示例,可以实现上述功能:
```java
import java.sql.*;
public class ProductInventoryManager {
private static final String DB_URL = "jdbc:mysql://localhost:3306/product_inventory";
private static final String DB_USER = "root";
private static final String DB_PASSWORD = "123456";
public void updateProductAndInventory(int productId, String productName, double productPrice, int inventoryCount) {
Connection conn = null;
PreparedStatement stmt = null;
try {
// 1. 获取数据库连接
conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
// 2. 查询商品和库存表中是否存在该编号的记录
String sql = "SELECT * FROM 商品表 WHERE 商品编号=?";
stmt = conn.prepareStatement(sql);
stmt.setInt(1, productId);
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
// 3. 如果存在该记录,则使用SQL语句更新商品和库存表中的数据
sql = "UPDATE 商品表 SET 商品名称=?, 商品价格=? WHERE 商品编号=?";
stmt = conn.prepareStatement(sql);
stmt.setString(1, productName);
stmt.setDouble(2, productPrice);
stmt.setInt(3, productId);
stmt.executeUpdate();
sql = "UPDATE 库存表 SET 库存数量=? WHERE 商品编号=?";
stmt = conn.prepareStatement(sql);
stmt.setInt(1, inventoryCount);
stmt.setInt(2, productId);
stmt.executeUpdate();
System.out.println("修改成功!");
} else {
System.out.println("该编号不存在,修改失败!");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 4. 关闭数据库连接和预处理语句
try {
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
在上述代码中,我们首先获取数据库连接,然后使用预处理语句查询商品表中是否存在该编号的记录。如果存在,则使用两条SQL语句更新商品和库存表中的数据,并提示用户修改成功;否则,提示用户修改失败。最后,关闭数据库连接和预处理语句。
你可以根据自己的需求进行修改和扩展,例如加入异常处理、日志记录、事务管理等功能。
阅读全文