Sobes.tech
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
}