This question already has an answer here:
Inserting preparedstatement to database - PSQL
                                
                                    (1个答案)
                                
                        
                2年前关闭。
            
        

我有一个名为stmt的Statement对象,一个Connection对象conn。

stmt = conn.createStatement();
boolean b = stmt.execute("INSERT INTO employee VALUES('E001', 'Smith')")


但这总是会产生错误。如果上述查询成功执行,我想返回true;如果查询执行失败,我想返回false。如何使用execute()方法获得该结果。

最佳答案

如何使用execute()方法获得该结果。


你不能如果结果为true,则仅返回ResultSet。如果您的插入有问题,该方法将引发异常。从documentation


  布尔型execute(String sql)抛出SQLException
  
  返回值:
  
  如果第一个结果是ResultSet对象,则为true;否则为false。如果是更新计数或没有结果,则返回false
  
  抛出:
  
  SQLException-如果发生数据库访问错误,则在封闭的Statement上调用此方法,在PreparedStatement或CallableStatement上调用此方法
  
  SQLTimeoutException-当驱动程序确定已经超过了setQueryTimeout方法指定的超时值并且至少已尝试取消当前正在运行的Statement时

关于java - 如何在Java语句中使用execute()获得对或错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29521554/

10-12 23:55