4. Apr 2003, 12:31
Hallo,
ich denke nicht, daß ich danebenliege.
Natürlich kann man in Beforepost Daten verändern, bevor sie in die Datenbank geschrieben werden, aber das gilt immer nur für einen Datensatz einer Datasetkomponente, und so war die Frage nicht formuliert.
Weiterhin, das manipulieren des Records in Beforepost mit anschließendem abort hinterläßt das Dataset im Editmode, und verhindert das Editieren irgendeines anderen Datensatzes.
Abort kann also die Lösung nicht sein, wen nman jemals weiterarbeiten will.
Versuche jetzt hier wieder rauszukommen. z.B. mit
Dataset.cancel;
Dataset.refresh (um die hintenrum geänderten Daten zu bekommen)
oder
Dataset.cancel;
Dataset.close (um die hintenrum geänderten Daten zu bekommen)
Dataset.open
Viel Spaß.
Also für diesen Anwendungsfall, wenn es reicht Daten in Beforepost zu manipulieren, und dann zu posten fein, dazu ist es da, um ein Post für EINEN Datensatz zu verzögern auch, aber darüber hninaus...
Für die verschiedenen Werte, Wert in Datenbank, Neuer Wert etc
gibt es die Fieldeigenschaften
TField.Value
TField.NewValue
TField.OldValue
Beschreibung in Delphi Hilfe recht ausfühlich
Gruß
Wolfgang
P.S.
Für die Adokomponenten gilt:
Besser auf TAdoQuery und TAdoTable verzichten, und TAdodataset mit den entsprechenden Einstellungen verwenden, und noch besser gleich auf TBetterAdodataset ausweichen, das spart viel Ärger.
|