소스 검색

* Inserted and then deleted records are removed from changelist

Michaël Van Canneyt 3 년 전
부모
커밋
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