Встречается на собеседованиях • сегодня

Можно ли поменять значение в ResultSet и сразу же добавить его в базу данных

Нет, ResultSet предназначен только для чтения данных из БД, а не для их модификации. Для изменения данных в базе нужно использовать UPDATE или INSERT через Statement/PreparedStatement.

Пример обновления данных:

java
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM users WHERE id = 1");

if (rs.next()) {
String newName = "NewName";
PreparedStatement pstmt = conn.prepareStatement("UPDATE users SET name = ? WHERE id = 1");
pstmt.setString(1, newName);
pstmt.executeUpdate();
}

text

Исключение - `ResultSet.CONCUR_UPDATABLE`, но он поддерживается не всеми СУБД и драйверами. Даже в этом случае изменения в `ResultSet` требуют отдельного вызова `updateRow()`.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы