|
@@ -1002,7 +1002,7 @@ type
|
|
TUpdateAction = (uaFail, uaAbort, uaSkip, uaRetry, uaApplied);
|
|
TUpdateAction = (uaFail, uaAbort, uaSkip, uaRetry, uaApplied);
|
|
TUpdateKind = (ukModify, ukInsert, ukDelete);
|
|
TUpdateKind = (ukModify, ukInsert, ukDelete);
|
|
|
|
|
|
- TLocateOption = (loCaseInsensitive, loPartialKey);
|
|
|
|
|
|
+ TLocateOption = (loCaseInsensitive, loPartialKey, loFromCurrent);
|
|
TLocateOptions = set of TLocateOption;
|
|
TLocateOptions = set of TLocateOption;
|
|
TDataOperation = procedure of object;
|
|
TDataOperation = procedure of object;
|
|
|
|
|
|
@@ -1293,10 +1293,10 @@ type
|
|
procedure Append;
|
|
procedure Append;
|
|
procedure AppendRecord(const Values: array of jsValue);
|
|
procedure AppendRecord(const Values: array of jsValue);
|
|
function BookmarkValid(ABookmark{%H-}: TBookmark): Boolean; virtual;
|
|
function BookmarkValid(ABookmark{%H-}: TBookmark): Boolean; virtual;
|
|
- function ConvertToDateTime(aValue : JSValue; ARaiseException : Boolean) : TDateTime; virtual;
|
|
|
|
- function ConvertDateTimeToNative(aValue : TDateTime) : JSValue; virtual;
|
|
|
|
- Class function DefaultConvertToDateTime(aValue : JSValue; ARaiseException{%H-} : Boolean) : TDateTime; virtual;
|
|
|
|
- Class function DefaultConvertDateTimeToNative(aValue : TDateTime) : JSValue; virtual;
|
|
|
|
|
|
+ function ConvertToDateTime(aField : TField; aValue : JSValue; ARaiseException : Boolean) : TDateTime; virtual;
|
|
|
|
+ function ConvertDateTimeToNative(aField : TField; aValue : TDateTime) : JSValue; virtual;
|
|
|
|
+ Class function DefaultConvertToDateTime(aField : TField; aValue : JSValue; ARaiseException{%H-} : Boolean) : TDateTime; virtual;
|
|
|
|
+ Class function DefaultConvertDateTimeToNative(aField : TField; aValue : TDateTime) : JSValue; virtual;
|
|
Function BlobDataToBytes(aValue : JSValue) : TBytes; virtual;
|
|
Function BlobDataToBytes(aValue : JSValue) : TBytes; virtual;
|
|
Class Function DefaultBlobDataToBytes(aValue : JSValue) : TBytes; virtual;
|
|
Class Function DefaultBlobDataToBytes(aValue : JSValue) : TBytes; virtual;
|
|
Function BytesToBlobData(aValue : TBytes) : JSValue ; virtual;
|
|
Function BytesToBlobData(aValue : TBytes) : JSValue ; virtual;
|
|
@@ -3867,12 +3867,12 @@ end;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-function TDataSet.ConvertToDateTime(aValue: JSValue; ARaiseException: Boolean): TDateTime;
|
|
|
|
|
|
+function TDataSet.ConvertToDateTime(aField: TField; aValue: JSValue; ARaiseException: Boolean): TDateTime;
|
|
begin
|
|
begin
|
|
- Result:=DefaultConvertToDateTime(aValue,ARaiseException);
|
|
|
|
|
|
+ Result:=DefaultConvertToDateTime(aField,aValue,ARaiseException);
|
|
end;
|
|
end;
|
|
|
|
|
|
-class function TDataSet.DefaultConvertToDateTime(aValue: JSValue; ARaiseException: Boolean): TDateTime;
|
|
|
|
|
|
+class function TDataSet.DefaultConvertToDateTime(aField: TField; aValue: JSValue; ARaiseException: Boolean): TDateTime;
|
|
begin
|
|
begin
|
|
Result:=0;
|
|
Result:=0;
|
|
if IsString(aValue) then
|
|
if IsString(aValue) then
|
|
@@ -3884,13 +3884,13 @@ begin
|
|
Result:=TDateTime(AValue)
|
|
Result:=TDateTime(AValue)
|
|
end;
|
|
end;
|
|
|
|
|
|
-function TDataSet.ConvertDateTimeToNative(aValue : TDateTime) : JSValue;
|
|
|
|
|
|
+function TDataSet.ConvertDateTimeToNative(aField: TField; aValue : TDateTime) : JSValue;
|
|
|
|
|
|
begin
|
|
begin
|
|
- Result:=DefaultConvertDateTimeToNative(aValue);
|
|
|
|
|
|
+ Result:=DefaultConvertDateTimeToNative(aField, aValue);
|
|
end;
|
|
end;
|
|
|
|
|
|
-Class function TDataSet.DefaultConvertDateTimeToNative(aValue : TDateTime) : JSValue;
|
|
|
|
|
|
+Class function TDataSet.DefaultConvertDateTimeToNative(aField : TField;aValue : TDateTime) : JSValue;
|
|
|
|
|
|
begin
|
|
begin
|
|
Result:=DateTimeToRFC3339(aValue);
|
|
Result:=DateTimeToRFC3339(aValue);
|
|
@@ -6735,18 +6735,20 @@ end;
|
|
|
|
|
|
function TDateTimeField.ConvertToDateTime(aValue: JSValue; aRaiseError: Boolean): TDateTime;
|
|
function TDateTimeField.ConvertToDateTime(aValue: JSValue; aRaiseError: Boolean): TDateTime;
|
|
begin
|
|
begin
|
|
- if Assigned(Dataset) then
|
|
|
|
- Result:=Dataset.ConvertToDateTime(aValue,aRaiseError)
|
|
|
|
|
|
+ if JS.isNull(aValue) then
|
|
|
|
+ Result:=0
|
|
|
|
+ else if Assigned(Dataset) then
|
|
|
|
+ Result:=Dataset.ConvertToDateTime(Self,aValue,aRaiseError)
|
|
else
|
|
else
|
|
- Result:=TDataset.DefaultConvertToDateTime(aValue,aRaiseError);
|
|
|
|
|
|
+ Result:=TDataset.DefaultConvertToDateTime(Self,aValue,aRaiseError);
|
|
end;
|
|
end;
|
|
|
|
|
|
function TDateTimeField.DateTimeToNativeDateTime(aValue: TDateTime): JSValue;
|
|
function TDateTimeField.DateTimeToNativeDateTime(aValue: TDateTime): JSValue;
|
|
begin
|
|
begin
|
|
if Assigned(Dataset) then
|
|
if Assigned(Dataset) then
|
|
- Result:=Dataset.ConvertDateTimeToNative(aValue)
|
|
|
|
|
|
+ Result:=Dataset.ConvertDateTimeToNative(Self,aValue)
|
|
else
|
|
else
|
|
- Result:=TDataset.DefaultConvertDateTimeToNative(aValue);
|
|
|
|
|
|
+ Result:=TDataset.DefaultConvertDateTimeToNative(Self,aValue);
|
|
end;
|
|
end;
|
|
|
|
|
|
function TDateTimeField.GetAsDateTime: TDateTime;
|
|
function TDateTimeField.GetAsDateTime: TDateTime;
|
|
@@ -7107,9 +7109,9 @@ Var
|
|
begin
|
|
begin
|
|
V:=GetData;
|
|
V:=GetData;
|
|
if Assigned(Dataset) then
|
|
if Assigned(Dataset) then
|
|
- Result:=Dataset.ConvertToDateTime(V,True)
|
|
|
|
|
|
+ Result:=Dataset.ConvertToDateTime(Self,V,True)
|
|
else
|
|
else
|
|
- Result:=TDataset.DefaultConvertToDateTime(V,True)
|
|
|
|
|
|
+ Result:=TDataset.DefaultConvertToDateTime(Self,V,True)
|
|
end;
|
|
end;
|
|
|
|
|
|
function TVariantField.GetAsFloat: Double;
|
|
function TVariantField.GetAsFloat: Double;
|