![]() |
Datenbank: firebird • Version: 2.0 • Zugriff über: Zeos
Transaktion, Query , RadioGroup in Verbindung
Hallo alle...
ich bin mal wieder in einer Glaubenskrise... :( im Prinzip hätte ich gern eine Meinung wie Ihr das lösen würdet. Wenn jemand eine direkte Lösung hätte wäre ich überglücklich. :-D Vorgaben: - Form mit Eingaben / Änderungen aus 3 Tabellen. - 1 Tabelle EditFelder - 2 Tabellen werden in DbGrid´s visualisiert - alle Informationen werden mit Querys eingelesen. - da alle Eingaben / Änderungen zusammenhängen sind alle in eine Transaktion verpackt. ( Transaktion Start beim OnShow... Commit oder Rollback beim Schließen. das Problem: - die ZQuerys sind nicht ReadOnly. d.h. wenn ich mit ZQuery.Append einen Datensatz anhänge setzt die Query ein SQL Statment ab, welches in der Transaktion aufläuft. - gleiches bei Änderungen in den Feldern der Query und Abschluß mit Post. --> jetzt habe ich manchmal, daß die Informationen, welche in der Query geändert wurden, trotz Post und Commit nicht in der Tabelle ankommen...aber manchmal doch. z.B. Veränderung der RadioGroup schreibt den Index in Datenfeld STATUS der Query --> Status wird im Grid richtig angezeigt --> in der Tabelle steht nach Commit immer noch der alte Wert. --> Append und Delete funktionieren anstandslos. :gruebel: - dieses Verhalten kann ich nicht reproduzieren, d.h. diese Kombination ist mir zu unsicher. :( PS: - DBRadioGroup in Verbindung mit Query geht auch nicht - auch mit ZUpdateSQL und definierten Statements für Insert / Update / Delete gleicher Effekt :wiejetzt: - bei der anderen Query funktioniert auch das Update...der Unterschied ist, daß bei dieser Query die Anzahl der Datensätze vorgegeben ist und bei der anderen (wo es nicht funktioniert) Datensätze hinzugefügt / gelöscht werden können. - die Anweisungen zum Ändern der Datensätze beider Querys sind identisch. :arrow: ich bräuchte eine Query, welche kein SQL Statement absetzt so daß ich die Änderungen zu Fuß eintragen könnte - ich habe den Quelltext bis auf ein Minimum auskommentiert, weil ich dachte, irgend ein Ereignisaufruf (z.B AfterSroll) was durcheinander bringt...Ohne Erfolg bleibt nur noch... :wiejetzt: für alle Hilfe bin ich dankbar... Ich hoffe mich verständlich ausgedrückt zu haben. Das ganze ist zu komplex für Quelltext posten. |
Re: Transaktion, Query , RadioGroup in Verbindung
Zitat:
Dazu im Event BeforePost folgendes tun: 1.) Werte der Primärschlüsselfelder merken 2.) Alle Felder des Datasets auslesen und die Änderung über SQL INSERT oder UPDATE selbst vornehmen 3.) Dataset.Cancel; // Änderungen im DS verwerfen 4.) Dataset.Requery; // oder Close; Open; 5.) mit Locate() auf den Datensatz springen, den man sich bei 1.) gemerkt hat 6.) Abort; // stille Exception, damit der usprüngliche Postvorgang abgebrochen wird |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:29 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-2025 by Thomas Breitkreuz