Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zeilen editieren und updaten (https://www.delphipraxis.net/52259-zeilen-editieren-und-updaten.html)

Emilio 26. Sep 2005 11:20

Re: Zeilen editieren und updaten
 
@shmia,

Danke für Deinen Tipp.

Der Grundgedanke war (also eine zusätzliche Bedingung) die "leeren" Edit-Felder neben die änderbaren DBEdit-Felder zu platzieren, um dem Anwender die Möglichkeit zu geben, die Auswirkungen seiner Änderungen vor dem posten zu zeigen (z.B. in berechnenden Edit-Feldern, die aber nicht mitgepostet werden).
Wenn ich Forms verwende, würde ich mir meinen Design-Aufbau versauen, da ich bislang mit DOCKPanels arbeite. Zur Not würde ich dies jedoch in Kauf nehmen.

Gibt es eine Möglichkeit, die Daten aus den Edit-Feldern, in denen Einträge gemacht wurden, in einer Hilfstabelle zu speichern und vor Aktualisierung der query (also Wiederaufruf des Panels) in die betroffenen tables einzulesen? - Hab mal was von memtables und stored procedures gelesen, aber nicht im geringsten verstanden und daher auch keine Idee, ob das ein Ansatz wäre.

VG Emilio

shmia 26. Sep 2005 13:47

Re: Zeilen editieren und updaten
 
Du kannst natürlich alle Daten aus deiner "9-Table-Query" in ein Memory-Dataset kopieren.
Memory-Datasets gibt's hier: http://www.torry.net/pages.php?id=572
Die berechneten Felder werden nun eben dem Memory-Dataset hinzugefügt.
Du kannst steuern (meist Property FieldDefs), ob ein Feld read-only ist.
So könnte der Benutzer direkt Preise und/oder Stückzahlen ändern und würde auf Knopfdruck
(memorydataset.Post) die Auswirkungen auf die berechneten Felder sehen.
Am Ende hast du folgende Möglichkeiten:
* nix tun
* prüfen, ob Benutzer Änderungen an Memory-Dataset vorgenommen hat und Hinweis anzeigen
* prüfen, was der Benutzer geändert hat. Satz für Satz vergleichen Memory-Dataset <->Orginal Dataset
Je nach Feld wird dann eine UPDATE-Anweisung durchgeführt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 Uhr.
Seite 2 von 2     12   

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