Einzelnen Beitrag anzeigen

WorstNightmare

Registriert seit: 6. Okt 2008
159 Beiträge
 
RAD-Studio 2010 Arc
 
#1

Von INSERT generierte Daten erfassen

  Alt 7. Aug 2009, 14:42
Datenbank: MySQL • Version: 5 • Zugriff über: ZeosLib 7
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.
  Mit Zitat antworten Zitat