![]() |
Datenbank: Firebird • Version: 3.x • Zugriff über: IBDAC
Dataset.Cancel verwirft Änderungen NICHT
Hallo,
ich habe eine Firebirddatenbank mit einem Blob-Feld. Zugriff über eine TIBCTable. Wenn ich eine Datei ins Blob lade und danach MyTable.Cancel aufrufe, bleiben die Daten trotzdem im Blob. Warum?
Delphi-Quellcode:
MyTable.Edit;
MyTable.GetBlob('Doc').LoadFromFile('D:\test1.png'); MyTable.Cancel; MyTable.GetBlob('Doc').SaveToFile('D:\test2.png'); <-- hier ist nun test1.png enthalten und nicht das ursprüngliche Bild. |
AW: Dataset.Cancel verwirft Änderungen NICHT
Sieht für mich so aus: GetBlob liefert ein Objekt was durch das Cancel weder gelöscht noch refreshed wird, es wird vielmehr gecached; also bleibt der Inhalt.
Hatte mal ein ähnliches Problem bei Firebird + FireDAC. Was man probieren kann: - Einstellungen des DatSets bezüglich Blob / Cache anpassen. - Schauen, ob es einen Befehl zum "Refresh" des Blob Objektes gibt (ggf. auch freigeben und neu erstellen des Blobs). - RefreshRecord oder Refresh ausführen. - Anders auf das Blob zugreifen als mit GetBlob (wenn möglich). - Datenmenge schließen und wieder öffnen (unschön, aber letzte Wahl). |
AW: Dataset.Cancel verwirft Änderungen NICHT
- hoffen Embarcadeo repariert es (in den nächsten Jahrzehnten)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 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