Datenbank: FIreDAC • Version: 2 • Zugriff über: FireDAC
FireDAC TFDMemtable
Ich habe festgestellt, dass die Memtable von FireDAC sämtliche Daten löscht, sobald Active auf False gesetzt wird. Ich finde das aber nicht in der Dokumentation. Aus meiner Sicht sollte das erst beim DisposeOf bzw. Free passieren oder wenn man eine entsprechende DML oder Funktion absetzt (z.b. EmptyDataSet).
|
AW: FireDAC TFDMemtable
Lies mal die Hilfe zu TADResourceOptions.Persistent.
|
AW: FireDAC TFDMemtable
Danke, das hilft. Dafür bist Du ja auch Master Developer ;) Jetzt kann ich endlich meine ClientDatasets loswerden.
|
AW: FireDAC TFDMemtable
Ich bin zu dumm hierfür.
TDBGrid, TDBNavigator, TDataSource und TFDMemTable aufs Formular geklatscht. Und eine TCheckbox für
Delphi-Quellcode:
FDMemTable.Active := myCheckbox.Checked
Erwartungshaltung: Wenn ich
Delphi-Quellcode:
habe, dann kann ich die FDMemTable öffnen und schließen und alle Daten bleiben erhalten.
TFDMemTable.ResourceOptions.Persistent = True
Fakt: Es ist nicht so. Was fehlt mir? |
AW: FireDAC TFDMemtable
Hast du auch
Delphi-Quellcode:
gesetzt?
PersistentFileName
|
AW: FireDAC TFDMemtable
Nein,*ich will doch gar nichts in Dateien zwischenspeichern.
Ich habe die Hilfe so verstanden. Zitat:
|
AW: FireDAC TFDMemtable
Zitat:
Delphi-Quellcode:
aber nicht
Active
Delphi-Quellcode:
werden. Das würde die Daten löschen.
false
|
AW: FireDAC TFDMemtable
Genau das möchte ich ja verhindern:
Ich möchte bei einer FDMemTable einmal
Delphi-Quellcode:
machen dürfen ohne dass alle Daten weg sind. Genau das schien der Themenersteller doch auch zu wollen und wurde mit deinem Ratschlag offensichtlich glücklich. Ich bin verwirrt.
Active := False
|
AW: FireDAC TFDMemtable
Zitat:
Delphi-Quellcode:
löscht diese Daten (ist nun mal so - übrigens auch zur Designzeit). Da das TFDMemTable keinen Zugriff auf die DFM hat, kann es die Daten auch später nicht mehr daraus laden. Um das zu umgehen, musst du eben die Daten in einer persistenten Datei abspeichern.
Active := false
Es gibt nur diese zwei Möglichkeiten: entweder aktiv lassen oder eine Datei verwenden. Ich kann es halt auch nur so darstellen wie es ist. |
AW: FireDAC TFDMemtable
Zitat:
|
AW: FireDAC TFDMemtable
Vielleicht kannst du noch ein zweites FdMemTable mit dem Datasource dahinterschalten.
http://docwiki.embarcadero.com/Libra...Set.DataSource Das erste hält die Daten, das zweite zum Ein- und Ausschalten von Active. Habs nicht getestet, könnte aber sein das soetwas in der Art funktioniert, auch wenn ich es etwas pervers finde. Die Frage wäre ob das doppelte Speicherhaltung im Memory bedeuten würde, oder ob FD das elegant abfängt. Rollo |
AW: FireDAC TFDMemtable
Gar keine üble Idee :thumb:
|
AW: FireDAC TFDMemtable
Falls das nicht geht könntest du auch save\load to\fromStream einsetzen um zwischenzuspeichern.
http://stackoverflow.com/questions/2...tclientdataset Rollo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz