Junior — Middle
Azonnal menthetőek el a ResultSet-ben végrehajtott változtatások az adatbázisban további műveletek nélkül?
sobes.tech MI
Válasz az MI-től
Nem, a ResultSet-ben végrehajtott változtatások nem kerülnek automatikusan mentésre az adatbázisba. A ResultSet az adatbázisból lekért adatok reprezentációja, és a benne végrehajtott változtatások a memóriában maradnak.
A változtatások mentéséhez frissítési módszereket kell használni, például Statement vagy PreparedStatement segítségével, vagy egy frissíthető ResultSet-et használva a updateRow() metódus hívásával. De ebben az esetben is szükséges a ResultSet helyes konfigurálása és a megfelelő módszerek meghívása a változtatások megerősítéséhez.
Példa egy sor frissítésére a ResultSet-ben:
ResultSet rs = stmt.executeQuery("SELECT * FROM users", ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
if(rs.next()) {
rs.updateString("name", "Új név");
rs.updateRow(); // a változtatások mentésre kerülnek az adatbázisban
}