Einzelnen Beitrag anzeigen

peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
702 Beiträge
 
Delphi 12 Athens
 
#2

AW: FireDAC und ADS: Daten direkt aktualisieren

  Alt 8. Aug 2019, 17:54
Moin,

ich möchte gerne eine Anwendung mit Delphi 10.3, den FireDAC-Komponenten und einer Datenbank entwickeln. Der Einfachheit halber nutze ich aktuell Advantage Database Server im Localmode, habe aber auch schon eine Anbindung an MS SQL Server berücksichtigt.

Nun habe ich aber ein eklatantes Problem, das ich bei Durchsicht aller Einstellungsparameter der FDConnection nicht in den Griff bekomme: die Daten werden irgendwie gecached. Dabei kommen so kuriose Sachen raus. Wenn ich auf der Datenbank einen Datensatz lösche und meine Anwendung noch offen habe, kann ich die Daten bearbeiten und abspeichern. Er steht dann mit identischem Autoinkrement anschließend wieder in der Datenbank.

Das Verhalten macht sich auch beim Einfügen von Daten über die Anwendung bemerkbar. Die Daten stehen erst nach Neustart der Anwendung zur Verfügung. Das kann es doch nicht sein.

Ich habe an den Einstellungen der Connection lediglich die Option CountUpdatedRecords deaktiviert, weil vorher das Einfügen von neuen Daten weitere Probleme bereitet hat. Das System war der Meinung, ich hätte den Datensatz gelockt und fügte meine Daten mehrfach in die Tabellen ein.

Es gibt auch keine Literatur oder Hilfeseiten, die sich mit solchen realen Problemen beschäftigen. Ein Buch habe ich mir deswegen schon zugelegt, doch die Geschichte mit dem CountUpdatedRecords war daran nicht zu finden. Gut, die Option war irgendwo aufgeführt, aber die Auswirkungen eben nicht. Ich habe nur nicht die Zeit, alle Einstellungen mit Try-and-Error durchzutesten. Dazu sind es zu viele Optionen, die in Abhängigkeit voneinander auch unterschiedlich reagieren.

Deswegen wäre ich dankbar für Infos, die mir bei der Lösung des Problems behilflich sein könnten.

Viele Grüße
Ingo
Verstehst Du, wie Transaktionen funktionieren? Welche FireDAC Componenten verwendest Du hier?
Peter Below
  Mit Zitat antworten Zitat