Hallo,
mein Programm führt einen INSERT-Befehl in einer MySQL5 Datenbank mittels ZeosLib durch. Dabei werden, neben den Daten die eingetragen werden, auch zufällige IDs von der Datenbank erzeugt.
In Java kann man so darauf zugreifen (ps ist ein PreparedStatement):
Code:
ResultSet rs = ps.getGeneratedKeys();
int uniqueid;
if (rs.next()) {
uniqueid = rs.getInt(1);
} else {
throw new DatabaseException("Inserting failed.");
}
Gibt es sowas wie GetGeneratedKeys auch in ZeosLib?
Mein Delphi-Code sieht bisher so aus:
Delphi-Quellcode:
with Q.DbcStatement do
for i := -1 to 5 do
begin
SetInt(3, Integer(FInventory[i].InvType));
for Item in FInventory[i] do
begin
SetInt(1, FID);
SetInt(2, Item.ID);
SetInt(4, Item.Position);
SetInt(5, 1); // xxx
SetString(6, ''); // xxx
SetNull(7, stTimestamp); // xxx
SetInt(8, 0); // xxx
SetInt(9, 0); // xxx
ExecuteUpdatePrepared;
// hier möchte ich gerne abfragen, welche ID jetzt zugewiesen wurde
end;
end;
Es werden zwar IDs eingetragen, diese können jedoch durchaus mehrmals vorkommen, sind also nicht eindeutig sodass ich die andere ID einfach per SELECT-Abfrage herausfinden könnte.