Einzelnen Beitrag anzeigen

EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
414 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: ID nicht gefunden nach last_insert_rowid()

  Alt 13. Mai 2017, 20:00
Die sqlite3-Tabelle hat foltende Struktur:
CREATE TABLE "Kontakte" ("ID" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , "Name" VARCHAR(50), "Vorname" VARCHAR(50), "Geb" VARCHAR(12), "Strasse" VARCHAR(70), "Nr" VARCHAR(10), "PLZ" VARCHAR(10),
"Ort" VARCHAR(70), "Tel" VARCHAR(15), "email" VARCHAR(30), "Bemerkung" VARCHAR(80))

Ob sie damit wirklich eine RowID hat kann ich nicht sagen, doch ich gehe davon aus.(woran kann ich das erkennen?)
Zunächst habe ich das Programm mit dbExpress-Komp. geschrieben und an der bewußten Stelle die Exception erhalten. Dann dachte ich das ganze Programm so wie es ist einfach mit den Zeos-Komp. einzurichten und siehe da das hat geklappt.
Er geht ohne wenn und aber über die Hürde hinweg und gibt sofort die entsprechende ID in der ListView aus und alles ist paletti. Mit dbExpress hängt er an der Zeile:
currentID:=qMain.FieldByName('ID').AsString; Er gibt keine ID aus, jedoch nach Neustart des Programms ist der neue Datensatz mit der entsprechenden nächstfolgenden ID gespeichert, als wäre nichts gewesen. Ich will ja nicht aus der Sache eine Haupt- und Staatsaktion machen, doch etwas komisch kommt es mir doch vor, zumal beide Programme bis auf den DB-Zugang gleich sind.
Jetzt habe ich die Zeile in dem dbExpress-Prog. einfach auskommentiert und alles läuft so ganz ok.
Nur eines ist bei beiden Varianten noch blöd: nach einem "bearbeiten" also verändern und UPDATE... ist dann stets nur der veränderte Datensatz im Listview zu sehen. Eigentlich wollte ich alle Datensätze einschließlich den veränderten sehen.
Da bin ich auch noch nicht weiter gekommen.
Norbert
  Mit Zitat antworten Zitat