java为什么我的sql表中的所有记录都被删除?
我要为学校做一个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
# 1 楼答案
你只是在加两个数字,我真的不知道为什么。我认为不是:
String sql="delete from Orders where " + selectCustomerId + selectCarId;
你应该写:
String sql="delete from Orders where cus_id =" + selectCustomerId +" and car_id = "+ selectCarId;