Forum: Datenbanken
Delphi
by marabu,
23. Mär 2006
Hi Lombi,
die Dimensionierung des Array hat nichts mit der Anzahl der Edits auf der Form zu tun, sondern eher mit der Anzahl der Felder im DataSet. Für den Insert-Mode musst du noch eine Erweiterung im Ereignis OnBeforePost() machen:
procedure TDemoForm.TableBeforePost(DataSet: TDataSet);
var
i: Integer;
changed: Boolean;
begin
Forum: Datenbanken
Delphi
by marabu,
18. Mär 2006
Hi Lombi.
Normalerweise lässt man dem Benutzer die Möglichkeit einen Datensatz unverändert neu zu speichern. In bestimmten Programmen wird das sogar als feature angesehen, aber egal. Wenn du den timestamp eines record nur dann aktualisieren willst, wenn sich auch eine inhaltliche Änderung ergeben hat, dann musst du die Feldwerte zu Beginn eines Edit-Vorganges zwischenspeichern (Markus hat es...
Forum: Datenbanken
Delphi
by marabu,
17. Mär 2006
Wenn du einen Buchstaben in einem Feld mit sich selbst überschreibst, dann wird bereits das Modified-Bit für den Datensatz gesetzt, auch wenn der Text des Feldes sich letztlich gar nicht verändert hat. Wenn du solche Fälle ausschließen willst, dann musst du tatsächlich die Feldinhalte vorher und nachher vergleichen - Feld für Feld. Ist das dein Problem?
marabu
Forum: Datenbanken
Delphi
by marabu,
17. Mär 2006
Hallo Lombi,
ich würde es so machen:
procedure TDemoForm.TableBeforePost(DataSet: TDataSet);
begin
if DataSet.Modified then
DataSet := Now;
end;