gpt4 book ai didi

java - 为什么mysql表中的所有记录都被删除了?

转载 作者:行者123 更新时间:2023-12-01 08:51:28 25 4
gpt4 key购买 nike

我有一个要为学校制作的 Java 项目。我使用 sql 和 JFrame,当我尝试从订单中删除(或编辑)一条记录时,我有 3 个表(客户、订单、汽车),订单中的所有记录都会被删除,而不是一条。我猜我的sql查询有问题。所以如果有人能告诉我我的错误那就太好了。 :)

这是我的代码:

class DeleteOrder implements ActionListener{

@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub

conn = DBConnector.getConnected();

String selectCustomerId = "select cus_id from customers where lname=? and ";
String selectCarId = "select car_id from cars where model=?";

String selectedCustomer = customersCombo.getSelectedItem().toString();
String selectedCar = carsCombo.getSelectedItem().toString();

String sql="delete from Orders where " + selectCustomerId + selectCarId;

try {
state = conn.prepareStatement(sql);
state.setString(1, selectedCustomer);
state.setString(2, selectedCar);
state.execute();
getAllDataFromOrders();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


}

}//end Delete ORder

最佳答案

你只是将两个数字相加,我真的不知道为什么。我认为而不是:

String sql="从订单中删除 "+ selectCustomerId + selectCarId;

你应该写:

String sql="从 cus_id = "+ selectCustomerId +"和 car_id = "+ selectCarId 的订单中删除;

关于java - 为什么mysql表中的所有记录都被删除了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42375996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com