Я выбираю подмножество данных из базы данных MS SQL, используя PreparedStatement
.
Итерируя по набору результатов, я также хочу обновить строки. На данный момент я использую что-то вроде этого:
prepStatement = con.prepareStatement(
selectQuery,
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_UPDATABLE);
rs = prepStatement.executeQuery();
while(rs.next){
rs.updateInt("number", 20)
rs.updateRow();
}
База данных обновлена с правильными значениями, но я получаю следующее исключение:
Optimistic concurrency check failed. The row was modified outside of this cursor.
Я его погуглил, но не смог найти помощи по этому вопросу.
Как мне предотвратить это исключение? Или, поскольку программа делает то, что я хочу, могу ли я просто игнорировать это?