Delphi-Quellcode:
qMain.SQL.Text := 'SELECT LAST_INSERT_ROWID() AS ID FROM KONTAKTE';
qMain.Open;
if qMain.RecordCount > 0 then begin
currentID := qMain.FieldByName('ID').AsString;
end else begin
MessageDlg('LAST_INSERT_ROWID() liefert kein Ergebnis.',mtError,[mbok],0);
end;
qMain.Close;
Wie ist bei den ZEOS-Komponenten AutoCommit eingestellt?
Ebenso TransactIsolationLevel?
Eventuell gibt es da Abhängigkeiten, die es ZEOS ermöglichen, die Abfrage auf LAST_INSERT_ROWID() auszuführen, während bei anderen Datenbankschnittstellen hier kein Ergebnis geliefert wird.