Обновление выбранных строк JDBC RowSet

Я хочу обновить запись в базе данных с помощью JDBC RowSet. Сначала я получаю требуемую запись, а затем использую updateRow() для обновления. Но это не отражается в базе данных. Об ошибках не сообщается.

rowSet.setCommand("SELECT * FROM Employee WHERE uid="+e.getUid());
rowSet.execute();
rowSet.updateString("name", e.getName());
// More update operations
rowSet.updateRow();

person rjalfa    schedule 28.04.2016    source источник
comment
У вас есть autoCommit()==true / вы вызвали rowSet.commit() явно?   -  person Gergely Bacso    schedule 28.04.2016
comment
Я считаю, что autoCommit = true, потому что вставка и удаление работают нормально без rowSet.commit()   -  person rjalfa    schedule 28.04.2016


Ответы (1)


Этот пример показывает, что вы должны сначала перейти к измененной строке с помощью

 jdbcRs.absolute(3);

обновить третью строку.

Также обратите внимание, что в Oracle набор строк должен быть явно задан обновляемый

 rowset.setReadOnly (false);
person Marmite Bomber    schedule 28.04.2016
comment
Откуда 3? - person rjalfa; 28.04.2016
comment
При этом осуществляется переход к третьей строке, см. здесь< /а> - person Marmite Bomber; 29.04.2016