Einzelnen Beitrag anzeigen

fisipjm

Registriert seit: 28. Okt 2013
251 Beiträge
 
#1

Zugriff mit FDConnection / FDQuery --> ODBC --> FireBird Daten Änderung nicht möglic

  Alt 13. Apr 2022, 11:40
Datenbank: Firebird • Version: 2.5 • Zugriff über: Odbc / FireDac
Hi,

ich hab mal wieder ein seltsames Anliegen, dass ich nicht verstehe und deshalb wahrscheinlich auch nicht lösen kann.
Ich greife aktuell dem Firebird ODBC Treiber auf eine Firebird Datenbank zu. Funktioniert!
Ich kann selecten nach Herzenslaune.
Jetzt versuche ich folgendes:
Ich rufe mit einem
FDQuery.open(Select * from Tabelle where Primaerschlüssel = 123) den zu ändernden Tabellenwert auf. Ich ändere den Wert folgendermaßen:

Delphi-Quellcode:
FDQuery.edit;
FDQuery.FieldByName('Dummer_Slogan').asString:='Jama jaja Ypipi Ypipi Jey';
FDQuery.post;
Problem, ich bekomme die Meldung
Code:
[FireDAC][DApt]-400. Update-Anweisung updated [0] anstelle von [1] Datensatz. Mögliche Ursachen: Aktualisierungstabelle hat keinen Primärschlüssel oder Zeilenbezeichner, Datensatz wurde von einem anderen Benutzer geändert/gelöscht
Hab auch schon rausgefunden was ich in der Queryumstellen kann. Es gibt in dem FDQuery DesignTimeObjekt eine Option die lautet:
Code:
Optionen --> Eintragen von Änderungen --> Anzahl der aktualisierten Datensätze prüfen
Wenn ich das raus lasse bekomme ich keine Fehlermeldung mehr.
Jetzt meine Frage:
Wenn ich es raus lasse, habe ich signifikante Nachteile? Warum ist mein ODBC Treiber nicht in der Lage das abzufrühstücken? Und die Vielwichtiger Frage, wie kann ich das im Code definieren, bzw. geht das auch in der Connection?
Fragen über Fragen Ich hoffe es gibt jemand der sich mit dem Thema schon mal außeinandersetzen musste und der mir einen kleinen Schups in die richtige Richtung geben kann
  Mit Zitat antworten Zitat