From 1a5c3bba6683a0d65aff0ba6a3ba26dafd81bef2 Mon Sep 17 00:00:00 2001 From: michael Date: Thu, 5 Nov 2020 08:34:37 +0000 Subject: [PATCH] * Avoid returning undefined when getting field data --- packages/fcl-db/db.pas | 6 ++++++ packages/fcl-db/jsondataset.pas | 2 ++ 2 files changed, 8 insertions(+) diff --git a/packages/fcl-db/db.pas b/packages/fcl-db/db.pas index 7541d23..56fa3fa 100644 --- a/packages/fcl-db/db.pas +++ b/packages/fcl-db/db.pas @@ -3162,6 +3162,8 @@ function TDataSet.GetFieldData(Field: TField; Buffer: TDatarecord): JSValue; begin Result:=TJSObject(buffer.data).Properties[Field.FieldName]; + if isUndefined(Result) then + Result:=Null; end; @@ -5563,7 +5565,11 @@ begin If FValidating then result:=FValueBuffer else + begin Result:=FDataset.GetFieldData(Self); + If IsUndefined(Result) then + Result:=Null; + end; end; function TField.GetDataSize: Integer; diff --git a/packages/fcl-db/jsondataset.pas b/packages/fcl-db/jsondataset.pas index 06bc49c..b42ea14 100644 --- a/packages/fcl-db/jsondataset.pas +++ b/packages/fcl-db/jsondataset.pas @@ -1698,6 +1698,8 @@ begin R:=Buffer.data; end; Result:=FFieldMapper.GetJSONDataForField(Field,R); + if isUndefined(Result) then + Result:=Null; end; procedure TBaseJSONDataSet.SetFieldData(Field: TField; var Buffer: TDatarecord; AValue : JSValue);