2016-04-28 3 views
0

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

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

У вас есть 'Autocommit() == true'/ты назвал' rowSet.commit() 'явно? –

+0

Я считаю autoCommit = true, потому что вставка и удаление работают нормально без rowSet.commit() –

ответ

0

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

jdbcRs.absolute(3); 

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

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

rowset.setReadOnly (false); 
+0

Откуда «3»? –

+0

Это переход к третьей строке, см. [Здесь] (https://docs.oracle.com/javase/tutorial/jdbc/basics/jdbcrowset.html#navigating-jdbcrowset-object) –