Java 使用Prepared语句从数据库中删除
我想从给定id的数据库“person”中删除一个人。如果我不使用Prepared语句(try语句中前5行未标记的代码),它就可以工作 但当我试图用预先准备好的语句来做这件事时,它不起作用,我也不明白为什么 应用程序在prepStatement.executeUpdate()上卡住; 因此,我甚至看不到executeUpdate的值(如果我想知道做了多少更改) 我有一个类似的方法,addPerson,在这个方法中,预先准备好的语句可以完美地工作。这真让我困惑 我感谢你的帮助Java 使用Prepared语句从数据库中删除,java,sql,prepared-statement,Java,Sql,Prepared Statement,我想从给定id的数据库“person”中删除一个人。如果我不使用Prepared语句(try语句中前5行未标记的代码),它就可以工作 但当我试图用预先准备好的语句来做这件事时,它不起作用,我也不明白为什么 应用程序在prepStatement.executeUpdate()上卡住; 因此,我甚至看不到executeUpdate的值(如果我想知道做了多少更改) 我有一个类似的方法,addPerson,在这个方法中,预先准备好的语句可以完美地工作。这真让我困惑 我感谢你的帮助 private
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();
}
}
}
打字错误?:
deleteofrompersonwhereid=?
Original行,以澄清Reimeus指出的内容:String sql=“deleteofrompersonwhreeid=?”;代码的其余部分乍一看是正常的。哎呀,似乎这就是错误所在!谢谢你们指出这一点,我不敢相信我没有注意到。。。