ID auslesen nach Insert

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: ID auslesen nach Insert

von wfrank » Mi, 06.09.2006 09:10

Danke, hat schon geholfen.

Darauf, dass HSQLdb einfach die ID hochzählt will ich mich lieber nicht verlassen. Bei so nem Prinzipienreiter wie mir sollte das eher datenbank-unabhängig bleiben. Also ich mach das auch mit ner eigenen Kennung die dann wieder zusammen mit der ID auslese und dann nochmal zurücksetze. Insofern würde mir das wahrscheinlich auch nichts nützen wenn das im Resultset drinstünde. Das wäre dann vielleicht auch nur bei hsql so.

Ist wohl der sicherste, datenbankunabh. Weg so auch wenn das 3 Schritte sind.

danke,
werner

von Toxitom » Mi, 06.09.2006 08:27

Hey Frank,

ich löse das Problem in der Regel wie folgt: Ich habe im Datenset ein Textfeld, das eine bestimmte Information aufnimmt. Dort schreibe ich beim "Insert" zunächst einen bestimmten Text - bei mir "neu" hinein. Dieser Text ist eindeutig und kann in der Form dort sonst nicht vorkommen.
Nun lese ich den Dtensatz per "Select" wieder aus (mit Suchbedingg "neu") , habe nun die ID und überschreibe das Textfeld nun mit den tatsächlichen Informationen (bei mir ein Timestamp ;-)

Wahrscheinlich könntest du auch vor dem Einfügen den maximalen ID auslesen (Bei HSQLDB ist der ja numerisch) und dann intern um eins erhöhen. das sollte auch funktionieren.

Gruss
Thomas

ID auslesen nach Insert

von wfrank » Di, 05.09.2006 12:56

wie komme ich an den Primärschluessel (ID wird automatisch erstellt)
wenn ich mit einem SQL statement eine Zeile hinzufüge.

also

sSQL = "INSERT ..... "
statement = ...... createStatement
oResSet = Statement.executeQuery ( sSQL )

kann ich aus dem ResultSet die Id der neuen Zeile rausbekommen ?
oder gibts da einen anderen Weg ?



Vielen Dank,
werner frank

Nach oben