# Derby insert, ID auslesen



## mororu (4. Sep 2009)

Hallo zusammen

Kann ich irgendwie bei einem INSERT Statement in eine Derby Datenbank, die erstellte ID auslesen?

Gibt es eine ähnliche Funktion wie bei MySQL (last_insert_id)?

Wäre super wenns sowas geben würde.


----------



## Schandro (4. Sep 2009)

ich glaube:
in dem du z.b. bei Connection#prepareStatement ein Statement.RETURN_GENERATED_KEYS als 2. Parameter mitgibst. Dann kannst du, nachdem das Statement ausgeführt wurde, per Statement#getGeneratedKeys() ein ResultSet mit den generierten Keys erhalten.


----------



## mororu (4. Sep 2009)

habe folgenden Code ausprobiert, habe aber leider beim Debuggen in er Variable test immer nur folgendes: "test" is not a known variable in the current context.

Was mach ich falsch?


```
connection = DriverManager.getConnection(URL);
            PreparedStatement
            stmt = connection.prepareStatement("INSERT INTO TBL_KOMMENTAR " +
                                               "(KMT_USR_ID, KMT_GRT_ID, KMT_TEXT) " +
                                               "VALUES (?, ?, ?)", PreparedStatement.RETURN_GENERATED_KEYS);

            stmt.setInt(1, userID);
            stmt.setInt(2, gerichtID);
            stmt.setString(3, comment);

            stmt.executeUpdate();
            ResultSet rs = stmt.getGeneratedKeys();

            while(rs.next()) {
                int test = rs.getInt(1);}
```


----------



## mororu (4. Sep 2009)

mhhhh habs grade gemerkt. In der Schleife darf ich natürlich nicht int test  = verwenden. Sorry


----------

