我使用PreparedStatement将一些值插入到数据库中,但似乎在这种情况下我无法检索最后一个插入ID。
我尝试使用与我用于语句相同的语句(如下所示),但它确实起作用。它说,在这种情况下.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;
}
提前谢谢你。
答案 0 :(得分:0)
PreparedStatement的executeUpdate方法确实返回受影响的行数......