Я вставляю некоторые значения в базу данных с помощью PreparedStatement, но кажется, что в этом случае я не могу получить последний идентификатор вставки.
Я пытаюсь использовать тот же оператор, что и для операторов (ниже), но он не работает. В нем говорится, что .executeQuery() не может принимать аргументы в этом случае.
На самом деле мне не нужен последний идентификатор вставки, подойдет количество затронутых строк, но как мне его получить? Я думал, что метод 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;
}
Заранее спасибо.