我有语句对象,称为stmt,Connection object conn。
stmt = conn.createStatement();
boolean b = stmt.execute("INSERT INTO employee VALUES('E001', 'Smith')")
但这总是产生假。如果上述查询成功执行,则需要true,如果查询执行失败,则需要false。如何使用execute()方法实现该结果。
发布于 2015-04-08 17:45:50
如何使用execute()方法实现该结果。
不能。只有当结果有一个true
时,它才会返回ResultSet
。如果插入有问题,该方法将引发异常。来自文档
布尔执行(String)抛出SQLException 返回: 如果第一个结果是对象,则为true;如果为更新计数,则为false或没有结果 抛出: SQLException -如果发生数据库访问错误,则在关闭语句上调用此方法,在PreparedStatement或CallableStatement上调用该方法。 SQLTimeoutException -当驱动程序确定超过了setQueryTimeout方法指定的超时值,并且至少试图取消当前运行的语句时
发布于 2015-04-08 17:41:59
尝试在executeUpdate()上使用Statement
方法。它应该返回一个int,指示行数。
发布于 2015-04-08 17:43:43
如果第一个结果是Statement.ececute()
对象,则返回ResultSet;如果是更新计数或没有结果,则返回false。
您可以使用
int executeUpdate(String sql)
返回
1) SQL数据操作语言(DML)语句的行计数或 2) 0对于不返回任何内容的SQL语句
https://stackoverflow.com/questions/29521554
复制相似问题