Himitsu's Vorschlag hat es gebracht:
qMain.SQL.Text := 'SELECT ID FROM KONTAKTE ORDER BY ID DESC LIMIT 1';
So wird nach dem Einfügen (INSERT) eines neuen Datensatzes dieser mit exakter ID richtig angezeigt und gespeichert.
Die Variante
qMain.SQL.Text := 'SELECT max(ID) as ID from KONTAKTE';
hat nicht geklappt.
Ich habe ein Verständnisproblem: Wir wollten doch die ID des
letzten eingefügten DS bekommen. Warum führt da DESC zum Ziel, das doch
absteigend sortiert? Was bewirkt LIMIT 1?
Habe zwischenzeitlich auf der SQLite3-Seite gestöbert:
https://www.sqlite.org/c3ref/last_insert_rowid.html
Dort sind div. Funktionen aufgeführt die zumeist mit SQLITE3_... beginnen, doch deren Verwendung führt dazu dass Embar. meint, diese Funktionen nicht zu kennen. Wie ist das zu verstehen?
Entschuldigung: habe soeben meinen Denkfehler erkannt: ja wir wollen doch die ID des letzten Datensatzes also muss es rückwärts gehen, also DESC!. Liege ich da richtig? und Limit 1 damit wirklich nur die ID des letzten DS verarbeitet wird?!