|
@@ -23,6 +23,9 @@ type
|
|
|
|
|
|
implementation
|
|
implementation
|
|
|
|
|
|
|
|
+uses
|
|
|
|
+ StrUtils, FmtBCD;
|
|
|
|
+
|
|
{ TMemDSDBConnector }
|
|
{ TMemDSDBConnector }
|
|
|
|
|
|
procedure TMemDSDBConnector.CreateNDatasets;
|
|
procedure TMemDSDBConnector.CreateNDatasets;
|
|
@@ -51,6 +54,7 @@ var MemDS : TMemDataset;
|
|
|
|
|
|
begin
|
|
begin
|
|
MemDs := TMemDataset.Create(nil);
|
|
MemDs := TMemDataset.Create(nil);
|
|
|
|
+ MemDS.Name := 'NDataset';
|
|
MemDS.FieldDefs.Add('ID',ftInteger);
|
|
MemDS.FieldDefs.Add('ID',ftInteger);
|
|
MemDS.FieldDefs.Add('NAME',ftString,50);
|
|
MemDS.FieldDefs.Add('NAME',ftString,50);
|
|
MemDS.CreateTable;
|
|
MemDS.CreateTable;
|
|
@@ -73,22 +77,29 @@ var MemDS : TMemDataset;
|
|
i : integer;
|
|
i : integer;
|
|
|
|
|
|
begin
|
|
begin
|
|
|
|
+ // Values >= 24:00:00.000 can't be handled by StrToTime function
|
|
|
|
+ testTimeValues[2] := '23:59:59.000';
|
|
|
|
+ testTimeValues[3] := '23:59:59.003';
|
|
|
|
+
|
|
MemDs := TMemDataset.Create(nil);
|
|
MemDs := TMemDataset.Create(nil);
|
|
with MemDS do
|
|
with MemDS do
|
|
begin
|
|
begin
|
|
|
|
+ Name := 'FieldDataset';
|
|
FieldDefs.Add('ID',ftInteger);
|
|
FieldDefs.Add('ID',ftInteger);
|
|
FieldDefs.Add('FSTRING',ftString,10);
|
|
FieldDefs.Add('FSTRING',ftString,10);
|
|
FieldDefs.Add('FSMALLINT',ftSmallint);
|
|
FieldDefs.Add('FSMALLINT',ftSmallint);
|
|
FieldDefs.Add('FINTEGER',ftInteger);
|
|
FieldDefs.Add('FINTEGER',ftInteger);
|
|
-// FieldDefs.Add('FWORD',ftWord);
|
|
|
|
|
|
+ FieldDefs.Add('FWORD',ftWord);
|
|
FieldDefs.Add('FBOOLEAN',ftBoolean);
|
|
FieldDefs.Add('FBOOLEAN',ftBoolean);
|
|
FieldDefs.Add('FFLOAT',ftFloat);
|
|
FieldDefs.Add('FFLOAT',ftFloat);
|
|
-// FieldDefs.Add('FCURRENCY',ftCurrency);
|
|
|
|
-// FieldDefs.Add('FBCD',ftBCD);
|
|
|
|
|
|
+ FieldDefs.Add('FCURRENCY',ftCurrency);
|
|
|
|
+ FieldDefs.Add('FBCD',ftBCD);
|
|
FieldDefs.Add('FDATE',ftDate);
|
|
FieldDefs.Add('FDATE',ftDate);
|
|
FieldDefs.Add('FTIME',ftTime);
|
|
FieldDefs.Add('FTIME',ftTime);
|
|
FieldDefs.Add('FDATETIME',ftDateTime);
|
|
FieldDefs.Add('FDATETIME',ftDateTime);
|
|
|
|
+ FieldDefs.Add('FFIXEDCHAR',ftFixedChar,10);
|
|
FieldDefs.Add('FLARGEINT',ftLargeint);
|
|
FieldDefs.Add('FLARGEINT',ftLargeint);
|
|
|
|
+ FieldDefs.Add('FFMTBCD',ftFmtBCD);
|
|
CreateTable;
|
|
CreateTable;
|
|
Open;
|
|
Open;
|
|
for i := 0 to testValuesCount-1 do
|
|
for i := 0 to testValuesCount-1 do
|
|
@@ -98,11 +109,17 @@ begin
|
|
FieldByName('FSTRING').AsString := testStringValues[i];
|
|
FieldByName('FSTRING').AsString := testStringValues[i];
|
|
FieldByName('FSMALLINT').AsInteger := testSmallIntValues[i];
|
|
FieldByName('FSMALLINT').AsInteger := testSmallIntValues[i];
|
|
FieldByName('FINTEGER').AsInteger := testIntValues[i];
|
|
FieldByName('FINTEGER').AsInteger := testIntValues[i];
|
|
|
|
+ FieldByName('FWORD').AsInteger := testWordValues[i];
|
|
FieldByName('FBOOLEAN').AsBoolean := testBooleanValues[i];
|
|
FieldByName('FBOOLEAN').AsBoolean := testBooleanValues[i];
|
|
FieldByName('FFLOAT').AsFloat := testFloatValues[i];
|
|
FieldByName('FFLOAT').AsFloat := testFloatValues[i];
|
|
- ShortDateFormat := 'yyyy-mm-dd';
|
|
|
|
- FieldByName('FDATE').AsDateTime := StrToDate(testDateValues[i]);
|
|
|
|
|
|
+ FieldByName('FCURRENCY').AsCurrency := testCurrencyValues[i];
|
|
|
|
+ FieldByName('FBCD').AsCurrency := testCurrencyValues[i];
|
|
|
|
+ FieldByName('FDATE').AsDateTime := StrToDateTime(testDateValues[i], Self.FormatSettings);
|
|
|
|
+ FieldByName('FTIME').AsDateTime := StrToTime(testTimeValues[i], Self.FormatSettings);
|
|
|
|
+ FieldByName('FDATETIME').AsDateTime := StrToDateTime(testValues[ftDateTime,i], Self.FormatSettings);
|
|
|
|
+ FieldByName('FFIXEDCHAR').AsString := PadRight(testStringValues[i], 10);
|
|
FieldByName('FLARGEINT').AsLargeInt := testLargeIntValues[i];
|
|
FieldByName('FLARGEINT').AsLargeInt := testLargeIntValues[i];
|
|
|
|
+ FieldByName('FFMTBCD').AsBCD := StrToBCD(testFmtBCDValues[i], Self.FormatSettings);
|
|
Post;
|
|
Post;
|
|
end;
|
|
end;
|
|
Close;
|
|
Close;
|