Zitat von
Killerloop:
Danke schön .ci habs ziwschenzeitlich andres gemacht, funktioniert komischerweise trotzdem:
Im ADODatase bei OnNewRecord einfach
Dataset.FieldByName('sz_datum').AsDateTime:=Now;
Dataset.FieldByName('sz_Pid').AsInteger:=Benutzer. NutzerKennZahl;
Hat Diese mthode einen nachteil gegenüber der von dir beschriebenen ?
OnNewRecord zeitlich wird vor AfterInsert aufgerufen.
Im Sourcode sieht das so aus:
Delphi-Quellcode:
procedure TDataSet.EndInsertAppend;
begin
SetState(dsInsert);
try
DoOnNewRecord; // <------
except
UpdateCursorPos;
FreeFieldBuffers;
SetState(dsBrowse);
Resync([]);
raise;
end;
FModified := False;
DataEvent(deDataSetChange, 0);
DoAfterInsert; // <------
DoAfterScroll;
end;
In
OnNewRecord kann man durch Erzeugen einer
Exception den Einfügevorgang noch abbrechen,
in
AfterInsert ist dies nicht möglich.
Ansonsten kann man beide Events als gleichwertig betrachten.