我想从给定ID的数据库“person”中删除一个人。如果我不使用Prepared Statement(try-statement中前5行未标记的代码行),它就可以工作。
但是当我尝试使用Prepared Statement这样做时,它不起作用,我无法找出原因?
应用程序停留在prepStatement.executeUpdate(); 因此,我甚至看不到executeUpdate的值(如果我想查看所做的更改)。
我有一个类似的方法addPerson,其中Prepered Statement非常完美。这真让我困惑......
感谢您的帮助。
private void removePerson() {
int id = Integer.parseInt(idField.getText());
PreparedStatement prepStatement = null;
try {
*/* Statement statement = connection.createStatement();
String sql = "DELETE FROM person WHERE id = '"+id+"'";
statement.executeUpdate(sql);
System.out.println("Person removed from database...");
ResultSet result = statement.executeQuery(sql);
*/*
String sql = "DELETE FROM person WHREE id = ?";
prepStatement = connection.prepareStatement(sql);
prepStatement.setInt(1, id);
prepStatement.executeUpdate();
System.out.println("Person removed from database...");
}
catch (SQLException se) {
se.toString();
}
finally {
try {
prepStatement.close();
}
catch (SQLException ex) {
ex.toString();
}
}
}