0

我使用 PreparedStatement 将一些值插入到数据库中,但似乎在这种情况下我无法检索最后一个插入 ID。

我尝试使用与 Statements 相同的语句(如下),但它不起作用。它说, .executeQuery() 在这种情况下不能接受参数。

事实上,我并不完全需要最后一个插入 id,受影响的行数就可以了,但我怎么得到呢?我认为 PreparedStatement 的 .executeUpdate() 方法会返回受影响的行数,但显然它没有。

这是方法。

 public static int getLastInsertId(Statement stmt) throws SQLException {
  String sql = "SELECT SCOPE_IDENTITY() AS id";

  ResultSet rs = stmt.executeQuery(sql);
  int id = 0;
  while (rs.next()) {
   id = rs.getInt("id");
  }
  return id;
 }

先感谢您。

4

1 回答 1

0

PreparedStatement 的 executeUpdate 方法确实返回了受影响的行数......

于 2010-11-30T15:21:19.310 回答