Bin mal wieder naiv, was passiert denn bei:
Delphi-Quellcode:
DM.DS.Insert;
DM.DS.FieldByName('ID').AsInteger := 0;
DM.DS.FieldByName('NR').AsInteger := i + 100;
DM.DS.FieldByName('BEZ').AsInteger := i;
DM.DS.Post;
if i mod 1000 = 0 then begin
mem1.Lines.Add(IntToStr (i));
DM.Trans.Commit;
DM.Trans.StartTransaction;
end;
Wenn ID als not null definiert ist, so fehlt beim Insert für die ID natürlich ein Wert. Der Trigger schlägt (vermutlich) erst nach dieser Überprüfung zu.