Forum: Datenbanken
by Delphi.Narium,
17. Feb 2019
Dann frag halt nicht den Spaltennamen ab, sondern nimm den Wert des ersten und einzigen Feldes der Ergebnismenge:SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('SELECT last_insert_rowid()');
SQLQuery1.open;
if not sqlquery1.IsEmpty then begin
ID := SQLQuery1.Fields.AsInteger;
end;
SQLQuery1.Close;
https://www.sqlite.org/c3ref/last_insert_rowid.html...
Forum: Datenbanken
by Delphi.Narium,
17. Feb 2019
Warum gibst Du dem Funktionsaufruf last_insert_rowid() im Select einen Aliasnamen, der mit dem Namen einer existierenden Spalte übereinstimmt. Sorg bitte erstmal dafür, dass es keine Konflikte in der Namensgebung geben kann. Dann können wir schauen, ob es wirklich nicht funktioniert.
Wenn ID ein AutoInc ist (oder per Trigger, Sequenze ...), muss man es nicht angeben. Aber eigentlich wissen...