浏览代码

* Add getUpdatecount, fix some warnings

Michaël Van Canneyt 3 年之前
父节点
当前提交
25f2393051
共有 1 个文件被更改,包括 22 次插入4 次删除
  1. 22 4
      packages/fcl-db/db.pas

+ 22 - 4
packages/fcl-db/db.pas

@@ -1341,6 +1341,7 @@ type
     procedure CheckBrowseMode;
     procedure ClearFields;
     procedure Close;
+    Function GetUpdateCount(UnresolvedOnly : Boolean) : Integer;
     Procedure ApplyUpdates;
     function  ControlsDisabled: Boolean;
     function CompareBookmarks(Bookmark1{%H-}, Bookmark2{%H-}: TBookmark): Longint; virtual;
@@ -1485,7 +1486,7 @@ type
   public
     constructor Create; reintroduce;
     destructor Destroy; override;
-    function  Edit: Boolean;
+    function  Edit: Boolean; virtual;
     procedure UpdateRecord;
     property Active: Boolean read FActive;
     property ActiveRecord: Integer read GetActiveRecord write SetActiveRecord;
@@ -3154,7 +3155,7 @@ end;
 
 procedure TDataSet.GetCalcFields(var Buffer: TDataRecord);
 var
-  i: Integer;
+
   OldState: TDatasetState;
 begin
   if (FCalcFieldsCount > 0) or FInternalCalcFields then
@@ -4158,6 +4159,23 @@ begin
   Active:=False;
 end;
 
+function TDataSet.GetUpdateCount(UnresolvedOnly: Boolean): Integer;
+
+Var
+  I : Integer;
+
+begin
+  Result:=0;
+  if Not Assigned(FChangeList) then
+    exit;
+  If Not UnresolvedOnly then
+    Result:=FChangeList.Count
+  else
+    For I:=0 to FChangeList.Count-1 do
+      if TRecordUpdateDescriptor(FChangeList[i]).ResolveStatus=rsUnresolved then
+        Inc(Result);
+end;
+
 procedure TDataSet.ApplyUpdates;
 begin
   DoBeforeApplyUpdates;
@@ -6992,8 +7010,8 @@ begin
       F:=FDisplayFormat
     else
       Case DataType of
-       ftTime : F:=LongTimeFormat;
-       ftDate : F:=ShortDateFormat;
+       ftTime : F:=FormatSettings.LongTimeFormat;
+       ftDate : F:=FormatSettings.ShortDateFormat;
       else
        F:='c'
       end;