![]() |
Datenbank: MS SQL Server • Version: 2008 • Zugriff über: FireDAC
Leitfaden für die Nutzung von FireDAC-Komponenten
Hallo zusammen,
ich bin immer noch auf der Suche nach einer vernünftigen Dokumentation der FireDAC-Komponenten. Ich nutze Delphi 10.3 Update 2 in Verbindung mit MS SQL Server und vor allem DevExpress-Komponenten. Seit einem guten halben Jahr versuche ich, eine brauchbare Anwendung zu schreiben. Vom Advantage Database Server als Datenbank habe ich mich mittlerweile verabschiedet, weil die Komponenten meiner Version offenbar nicht so einwandfrei mit der neuesten Delphi-Version harmonierten. Nun hatte ich einige Ungereimtheiten auf diese Inkompatibilität geschoben, doch ich komme auch mit dem MS SQL Server nicht wirklich weiter. Das Grundproblem sehe ich bei den FireDAC-Komponenten, die eine Vielzahl von Einstellungsmöglichkeiten haben, deren Abhängigkeiten untereinander und die genauen Einflüsse auf das Verhalten der Datenbank nur begrenzt dokumentiert sind. Beim Support vom Embarcadero habe ich inzwischen mehrfach nach einem Leitfaden gefragt, aber man verweist nur auf Samples und die Documentation. Wie sollen einem die weiterhelfen, wenn die Beispiele nicht den Praxisfall treffen. Gibt es irgendwo etwas Vernünftiges möglichst auf Deutsch, das einem die Verfahrensweise der FireDAC-Komponenten erklärt und auf mögliche Risiken und Bugs hinweist? Dabei möchte ich noch einwerfen, dass ich mit den klassischen Methoden von Tables für die Bearbeitung von einzelnen Datensätzen arbeite. Queries setze ich vor allem für die Darstellung der Datensuche und der Auswertung ein. Danke im Voraus. Ingo |
AW: Leitfaden für die Nutzung von FireDAC-Komponenten
|
AW: Leitfaden für die Nutzung von FireDAC-Komponenten
Danke für den Tipp. Das Buch habe ich mir als eBook-Version schon vorab gekauft und heruntergeladen. Bei meinen Problemen hilft es mir allerdings auch nicht wirklich weiter. Dort sind die Eigenschaften einer Connection aufgelistet und mit einfachen Beispielen geht es auch um Datenänderungen in Grids - die simplen Methoden wie Append, Edit und Post für eine Table sucht man jedoch vergeblich.
Gruß Ingo |
AW: Leitfaden für die Nutzung von FireDAC-Komponenten
Zitat:
|
AW: Leitfaden für die Nutzung von FireDAC-Komponenten
Das genaue Problem liegt beim Speichern und Aktualisieren der Daten. Ich kenne es so, dass mit einem Post die Daten in der Datenbank stehen. Wenn ich in meiner Anwendung Daten erfasse, dann sieht alles gut aus. Schaue ich nach dem Post in die Datenbank, dann fehlen aber die Feldinhalte.
Editiere ich eine Parametertabelle in meiner Anwendung über ein Grid und kehre in einen Stammdatendialog zurück, dann sind diese optionalen Werte nicht aktuell. Neue Einträge fehlen, geänderte Einträge sind noch so wie vorher. Nach einem Neustart der Anwendung stehen mir die Parameter so wie gewünscht zur Verfügung. Ein weiteres Problem ist der Abruf der Daten. Ich habe letzt nach einigem Hin und Her den FireDAC-Monitor aktiviert. Mit dem Öffnen eines Stammdatendialogs setze ich die Table auf Active := true. Die Datenbank holt daraufhin alle Datensätze aus der Tabelle, was bei einem umfangreichen Adress- oder Artikelstamm sehr viel sein kann. Mit Änderung der RecsMax in den FetchOptions kam aber nichts Brauchbares mehr dabei heraus. Insofern sehe ich den Ansatz bei den generellen Einstellungen der FDConnection. In dem Buch von Cary Jensen ist so ein Fall aus der Praxis nicht beschrieben. Die Beispiele zielen alle auf eine Bearbeitung per Grid ab und lassen solche Anwendungsprobleme wie ich sie habe außen vor. Gruß Ingo |
AW: Leitfaden für die Nutzung von FireDAC-Komponenten
Zitat:
|
AW: Leitfaden für die Nutzung von FireDAC-Komponenten
Wenn ich im Formclose die Datenquelle wieder schließe und beim erneuten Öffnen des Dialogs wieder aktiviere, dann sollte das mit einem Refresh gleichzusetzen sein. Das Programm greift nur eben nicht auf die aktualisierte Datenbank zu, sondern auf das, was beim ersten Mal geladen wurde. Und das ist ein wesentlicher Punkt, den ich nicht verstehe und der in der Anwendungsentwicklung fatal ist.
Gruß Ingo |
AW: Leitfaden für die Nutzung von FireDAC-Komponenten
Vielleicht query.CachedUpdates ?? Da hilft ein einfaches .Post nicht.
|
AW: Leitfaden für die Nutzung von FireDAC-Komponenten
Zitat:
Es kommt drauf an, was FireDAC im Hintergrund mit Transaktionen anstellt. Wenn erstmal alle Insert/Update/Delete nur gesammelt und erst beim Schließen der Table committet werden, dann sieht man Änderungen nie sofort. |
AW: Leitfaden für die Nutzung von FireDAC-Komponenten
Hallo,
Zitat:
d.h. Fall1 - Programm.Exe wird gestartet - macht eine Connection auf - öffnet ein Formular, speichert dort die Daten ab, schließt das Formular - öffnet ein anderes Formular und dort sind die Daten nicht zu sehen? oder ist das Fall2 Rechner 1 - Programm.Exe wird gestartet - macht eine Connection auf Rechner 2 - Programm.Exe wird gestartet - macht eine Connection auf Rechner 1 - öffnet ein Formular, speichert dort die Daten ab, schließt das Formular Rechner 2 - öffnet ein anderes Formular und dort sind die Daten nicht zu sehen? - Programm.Exe wird gestartet - macht eine Connection auf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz