使用Prepared Statement从数据库中删除

时间:2015-03-14 20:56:14

标签: java sql prepared-statement

我想从给定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();
              }
          }
    }

0 个答案:

没有答案