又个例子:boolean b = execute("update table userinfo set status='online' where username='huanzai'");这条语句我执行之后,数据库被更新了,但是返回的b=false,怎么会返回false?
如果我用int a = executeUpdate("update table userinfo set status='online' where username='huanzai'");执行这条sql语句,是出错的,无法更新,这是为什么?
如果我用int a = executeUpdate("update table userinfo set status='online' where username='huanzai'");执行这条sql语句,是出错的,无法更新,这是为什么?
throws SQLException 在此 PreparedStatement 对象中执行 SQL 语句,该语句可以是任何种类的 SQL 语句。一些特别处理过的语句返回多个结果,execute 方法处理这些复杂的语句,executeQuery 和 executeUpdate 处理形式更简单的语句。 execute 方法返回一个 boolean 值,以指示第一个结果的形式。必须调用 getResultSet 或 getUpdateCount 方法来检索结果,并且必须调用 getMoreResults 移动到任何后面的结果。 返回:
如果第一个结果是 ResultSet 对象,则返回 true;如果第一个结果是更新计数或者没有结果,则返回 false
抛出:
SQLException - 如果发生数据库访问错误或者为此方法提供一个参数
另请参见:
Statement.execute(java.lang.String), Statement.getResultSet(), Statement.getUpdateCount(), Statement.getMoreResults()
throws SQLException 在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 SQL INSERT、UPDATE 或 DELETE 语句;或者是一个什么都不返回的 SQL 语句,比如 DDL 语句。 返回:
(1) 对于 INSERT、UPDATE 或 DELETE 语句,返回行数 (2) 或者对于什么都不返回的 SQL 语句,返回 0
抛出:
SQLException - 如果发生数据库访问错误或者 SQL 语句返回一个 ResultSet 对象
不好意思哈,写错了 不是直接用execute executeUpdate而是Statement stmt.execute(sql)