Sooo... mal ein Originalkonstrukt:
Delphi-Quellcode:
procedure WriteSort(ds: TDataSet);
var
i: integer;
begin
for i := 0
to sl.Count - 1
do begin
if ds.Locate('
ID', Integer(sl.Objects[i]), [])
then begin
ds.Edit;
try
ds.FieldByName(SortFeld).AsInteger := (i + 1) * 2;
ds.Post;
// -> hier knallts
except
ds.Cancel;
raise;
end;
end else begin
raise Exception.Create('
Locate fehlgeschlagen für ID ' + sl.Strings[i]);
end;
end;
end;
.. da das an so vielen Stellen vorkommt glaube ich langsam nicht an einen simplen Fehler.
@Perlsau:
Das geht leider nicht so einfach. Die DataSets kommen aus einem Framework und sind komplett verteilt und verknotet. Da kann man nicht einfach was umoperieren
Nachtrag: Inzwischen habe ich gesehen, daß Stellen, die einen Fehler produzierten, durchlaufen und andere Neue sich beschweren. Das riecht doch nach einem Grundsatzproblem !
Zitat:
'Die zum Aktualisieren angegebene Zeile wurde nicht gefunden. Einige Werte wurden seit dem letzten Lesen ggf. geändert'.