83 lines
3.9 KiB
Java
83 lines
3.9 KiB
Java
package finalexam.Database;
|
|
|
|
import java.sql.Connection;
|
|
import java.sql.DriverManager;
|
|
import java.sql.PreparedStatement;
|
|
import java.sql.ResultSet;
|
|
import java.util.Scanner;
|
|
|
|
public class ProductModificationAndDeletion {
|
|
private static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
|
|
private static final String DBURL = "jdbc:mysql://localhost:3306/xiaoshou?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT";
|
|
|
|
public static void main(String[] args) throws Exception {
|
|
Class.forName(DBDRIVER);
|
|
Connection conn = DriverManager.getConnection(DBURL);
|
|
PreparedStatement pstmt = null;
|
|
ResultSet rs = null;
|
|
Scanner sc = new Scanner(System.in);
|
|
int choice;
|
|
do {
|
|
System.out.println("====超市商品管理维护====");
|
|
System.out.println("1、删除商品");
|
|
System.out.println("2、修改商品");
|
|
System.out.println("3、退出");
|
|
System.out.print("请选择(1-3):");
|
|
choice = sc.nextInt();
|
|
switch (choice) {
|
|
case 1:
|
|
System.out.print("输入商品编码:");
|
|
String codeToDelete = sc.next();
|
|
pstmt = conn.prepareStatement("SELECT * FROM t_shangping WHERE tiaoma = ?");
|
|
pstmt.setString(1, codeToDelete);
|
|
rs = pstmt.executeQuery();
|
|
if (!rs.next()) {
|
|
System.out.println("你输入的编码不存在,请重新输入");
|
|
} else {
|
|
pstmt = conn.prepareStatement("DELETE FROM t_shangping WHERE tiaoma = ?");
|
|
pstmt.setString(1, codeToDelete);
|
|
pstmt.executeUpdate();
|
|
System.out.println("你成功删除该商品");
|
|
}
|
|
break;
|
|
case 2:
|
|
System.out.print("输入商品编码:");
|
|
String codeToModify = sc.next();
|
|
pstmt = conn.prepareStatement("SELECT * FROM t_shangping WHERE tiaoma = ?");
|
|
pstmt.setString(1, codeToModify);
|
|
rs = pstmt.executeQuery();
|
|
if (!rs.next()) {
|
|
System.out.println("你输入的编码不存在,请重新输入");
|
|
} else {
|
|
System.out.print("商品名称(" + rs.getString("mingcheng") + "):");
|
|
String name = sc.nextLine();
|
|
sc.nextLine();
|
|
System.out.print("商品单价(" + rs.getDouble("danjia") + "):");
|
|
double price = sc.nextDouble();
|
|
sc.nextLine();
|
|
System.out.print("商品供应商(" + rs.getString("gongyingshang") + "):");
|
|
String supplier = sc.nextLine();
|
|
pstmt = conn.prepareStatement(
|
|
"UPDATE t_shangping SET mingcheng = ?, danjia = ?, gongyingshang = ? WHERE tiaoma = ?");
|
|
pstmt.setString(1, name.isEmpty() ? rs.getString("mingcheng") : name);
|
|
pstmt.setDouble(2, price == 0.0 ? rs.getDouble("danjia") : price);
|
|
pstmt.setString(3, supplier.isEmpty() ? rs.getString("gongyingshang") : supplier);
|
|
pstmt.setString(4, codeToModify);
|
|
pstmt.executeUpdate();
|
|
System.out.println("成功修改该商品");
|
|
}
|
|
break;
|
|
case 3:
|
|
System.out.println("退出系统");
|
|
break;
|
|
default:
|
|
System.out.println("无效的选择,请重新输入");
|
|
break;
|
|
}
|
|
} while (choice != 3);
|
|
rs.close();
|
|
pstmt.close();
|
|
conn.close();
|
|
}
|
|
}
|