Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Prepared语句从数据库中删除_Java_Sql_Prepared Statement - Fatal编程技术网

Java 使用Prepared语句从数据库中删除

Java 使用Prepared语句从数据库中删除,java,sql,prepared-statement,Java,Sql,Prepared Statement,我想从给定id的数据库“person”中删除一个人。如果我不使用Prepared语句(try语句中前5行未标记的代码),它就可以工作 但当我试图用预先准备好的语句来做这件事时,它不起作用,我也不明白为什么 应用程序在prepStatement.executeUpdate()上卡住; 因此,我甚至看不到executeUpdate的值(如果我想知道做了多少更改) 我有一个类似的方法,addPerson,在这个方法中,预先准备好的语句可以完美地工作。这真让我困惑 我感谢你的帮助 private

我想从给定id的数据库“person”中删除一个人。如果我不使用Prepared语句(try语句中前5行未标记的代码),它就可以工作

但当我试图用预先准备好的语句来做这件事时,它不起作用,我也不明白为什么

应用程序在prepStatement.executeUpdate()上卡住; 因此,我甚至看不到executeUpdate的值(如果我想知道做了多少更改)

我有一个类似的方法,addPerson,在这个方法中,预先准备好的语句可以完美地工作。这真让我困惑

我感谢你的帮助

   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=?”;代码的其余部分乍一看是正常的。哎呀,似乎这就是错误所在!谢谢你们指出这一点,我不敢相信我没有注意到。。。