Avatar billede eikhorsholm Nybegynder
09. november 2006 - 14:02 Der er 9 kommentarer og
1 løsning

Få automatisk oprettet id fra INSERT-statement.

Jeg har i Java embedded en Apache Derby database.
Her benytter jeg nogle gange en INSERT-statement, hvor jeg er meget interesseret i, at anskaffe det automatisk oprettede id fra netop dén statement.
Hvorledes er det muligt?
Avatar billede arne_v Ekspert
09. november 2006 - 14:12 #1
du kan hente den med Derby SQL funktionen IDENTITY_VAL_LOCAL()

ellers hvis driveren er JDBC 3.0 compliant så kan du jo hente den på en
database uafhængig måde med stmt.getGeneratedKeys()
Avatar billede eikhorsholm Nybegynder
09. november 2006 - 14:17 #2
Returnere getGeneratedKeys ikke alle de keys som automatisk er oprettet med min statement?
Avatar billede eikhorsholm Nybegynder
09. november 2006 - 14:17 #3
Og altså ikke blot det sidst oprettede?
Avatar billede arne_v Ekspert
09. november 2006 - 14:29 #4
jeg vil formode at den returnerer alle dem som er oprettet ved sidste execute
ikke dem som er oprettet den sidste time på samme statement objekt
Avatar billede arne_v Ekspert
09. november 2006 - 14:29 #5
men prøv det !
Avatar billede eikhorsholm Nybegynder
09. november 2006 - 14:38 #6
Jeg skal åbenbart angive .getInt() da den returnere et ResultSet.
Her har jeg prøvet med getInt.(0) og .getInt("id"), men får en null-pointer fejl hver gang?
Avatar billede arne_v Ekspert
09. november 2006 - 15:17 #7
prøv og se om getGeneratedKeys returnerer null og hvormange rækker og kolonner den
returnerer
Avatar billede arne_v Ekspert
09. november 2006 - 15:17 #8
ellers:

SELECT IDENTITY_VAL_LOCAL()
Avatar billede eikhorsholm Nybegynder
21. november 2006 - 10:01 #9
arne_v, et lille svar?
Avatar billede arne_v Ekspert
21. november 2006 - 12:58 #10
gerne
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester