Просмотр исходного кода

* Inserted and then deleted records are removed from changelist

Michaël Van Canneyt 3 лет назад
Родитель
Сommit
eb52f60dde
1 измененных файлов с 7 добавлено и 1 удалено
  1. 7 1
      packages/fcl-db/db.pas

+ 7 - 1
packages/fcl-db/db.pas

@@ -2900,7 +2900,13 @@ begin
     begin
     Result:=TRecordUpdateDescriptor(FChangeList[i]);
     Case aChange of
-      usDeleted : Result.FStatus:=usDeleted;
+      usDeleted :
+        begin
+        if Result.FStatus = usInserted then
+          FChangeList.Delete(I)
+        else
+          Result.FStatus:=usDeleted;
+        end;
       usInserted : DatabaseError(SErrInsertingSameRecordtwice,Self);
       usModified : Result.FData:=ActiveBuffer.Data;
     end