Browse Source

* Inserted and then deleted records are removed from changelist

Michaël Van Canneyt 3 năm trước cách đây
mục cha
commit
eb52f60dde
1 tập tin đã thay đổi với 7 bổ sung1 xóa
  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