|
@@ -87,6 +87,8 @@ type
|
|
|
procedure TestFixedStringParamQuery;
|
|
|
procedure TestDateParamQuery;
|
|
|
procedure TestIntParamQuery;
|
|
|
+ procedure TestTimeParamQuery;
|
|
|
+ procedure TestFmtBCDParamQuery;
|
|
|
procedure TestFloatParamQuery;
|
|
|
procedure TestBCDParamQuery;
|
|
|
procedure TestAggregates;
|
|
@@ -108,7 +110,7 @@ type
|
|
|
|
|
|
implementation
|
|
|
|
|
|
-uses sqldbtoolsunit,toolsunit, variants, sqldb, bufdataset, strutils, dbconst;
|
|
|
+uses sqldbtoolsunit,toolsunit, variants, sqldb, bufdataset, strutils, dbconst, FmtBCD;
|
|
|
|
|
|
Type HackedDataset = class(TDataset);
|
|
|
|
|
@@ -236,9 +238,6 @@ end;
|
|
|
|
|
|
procedure TTestFieldTypes.TestLargeRecordSize;
|
|
|
|
|
|
-var
|
|
|
- i : byte;
|
|
|
-
|
|
|
begin
|
|
|
TSQLDBConnector(DBConnector).Connection.ExecuteDirect('create table FPDEV2 (plant varchar(8192),sampling_type varchar(8192),area varchar(8192), area_description varchar(8192), batch varchar(8192), sampling_datetime timestamp, status varchar(8192), batch_commentary varchar(8192))');
|
|
|
|
|
@@ -416,7 +415,7 @@ begin
|
|
|
Open;
|
|
|
for i := 0 to testDateValuesCount-1 do
|
|
|
begin
|
|
|
- AssertEquals(testDateValues[i],FormatDateTime('yyyy/mm/dd',fields[0].AsDateTime));
|
|
|
+ AssertEquals(testDateValues[i],FormatDateTime('yyyy/mm/dd', fields[0].AsDateTime, DBConnector.FormatSettings));
|
|
|
Next;
|
|
|
end;
|
|
|
close;
|
|
@@ -593,9 +592,9 @@ begin
|
|
|
for i := 0 to corrTestValueCount-1 do
|
|
|
begin
|
|
|
if length(testValues[i]) < 12 then
|
|
|
- AssertEquals(testValues[i],FormatDateTime('yyyy/mm/dd',fields[0].AsDateTime))
|
|
|
+ AssertEquals(testValues[i],FormatDateTime('yyyy/mm/dd', fields[0].AsDateTime, DBConnector.FormatSettings))
|
|
|
else
|
|
|
- AssertEquals(testValues[i],FormatDateTime('yyyy/mm/dd hh:mm:ss',fields[0].AsDateTime));
|
|
|
+ AssertEquals(testValues[i],FormatDateTime('yyyy/mm/dd hh:mm:ss', fields[0].AsDateTime, DBConnector.FormatSettings));
|
|
|
Next;
|
|
|
end;
|
|
|
close;
|
|
@@ -731,6 +730,16 @@ begin
|
|
|
TestXXParamQuery(ftInteger,'INT',testIntValuesCount);
|
|
|
end;
|
|
|
|
|
|
+procedure TTestFieldTypes.TestFmtBCDParamQuery;
|
|
|
+begin
|
|
|
+ TestXXParamQuery(ftFMTBcd,FieldtypeDefinitionsConst[ftFMTBcd],testValuesCount);
|
|
|
+end;
|
|
|
+
|
|
|
+procedure TTestFieldTypes.TestTimeParamQuery;
|
|
|
+begin
|
|
|
+ TestXXParamQuery(ftTime,FieldtypeDefinitionsConst[ftTime],testValuesCount);
|
|
|
+end;
|
|
|
+
|
|
|
procedure TTestFieldTypes.TestFloatParamQuery;
|
|
|
|
|
|
begin
|
|
@@ -776,8 +785,6 @@ begin
|
|
|
sql.clear;
|
|
|
sql.append('insert into FPDEV2 (ID,FIELD1) values (:id,:field1)');
|
|
|
|
|
|
- ShortDateFormat := 'yyyy-mm-dd';
|
|
|
-
|
|
|
// There is no Param.AsFixedChar, so the datatype has to be set manually
|
|
|
if ADatatype=ftFixedChar then
|
|
|
Params.ParamByName('field1').DataType := ftFixedChar;
|
|
@@ -791,10 +798,12 @@ begin
|
|
|
ftBCD : Params.ParamByName('field1').AsCurrency:= testBCDValues[i];
|
|
|
ftFixedChar,
|
|
|
ftString : Params.ParamByName('field1').AsString := testStringValues[i];
|
|
|
+ ftTime : Params.ParamByName('field1').AsTime := TimeStringToDateTime(testTimeValues[i]);
|
|
|
ftDate : if cross then
|
|
|
Params.ParamByName('field1').AsString:= testDateValues[i]
|
|
|
else
|
|
|
- Params.ParamByName('field1').AsDateTime:= StrToDate(testDateValues[i]);
|
|
|
+ Params.ParamByName('field1').AsDateTime:= StrToDate(testDateValues[i],'yyyy/mm/dd','-');
|
|
|
+ ftFMTBcd : Params.ParamByName('field1').AsFMTBCD:= StrToBCD(testFmtBCDValues[i]{,DBConnector.FormatSettings})
|
|
|
else
|
|
|
AssertTrue('no test for paramtype available',False);
|
|
|
end;
|
|
@@ -815,7 +824,9 @@ begin
|
|
|
ftBCD : AssertEquals(testBCDValues[i],FieldByName('FIELD1').AsCurrency);
|
|
|
ftFixedChar : AssertEquals(PadRight(testStringValues[i],10),FieldByName('FIELD1').AsString);
|
|
|
ftString : AssertEquals(testStringValues[i],FieldByName('FIELD1').AsString);
|
|
|
- ftdate : AssertEquals(testDateValues[i],FormatDateTime('yyyy/mm/dd',FieldByName('FIELD1').AsDateTime));
|
|
|
+ ftTime : AssertEquals(testTimeValues[i],DateTimeToTimeString(FieldByName('FIELD1').AsDateTime));
|
|
|
+ ftdate : AssertEquals(testDateValues[i],FormatDateTime('yyyy/mm/dd',FieldByName('FIELD1').AsDateTime, DBConnector.FormatSettings));
|
|
|
+ ftFMTBcd : AssertEquals(testFmtBCDValues[i],BCDToStr(FieldByName('FIELD1').AsBCD{,DBConnector.FormatSettings}))
|
|
|
else
|
|
|
AssertTrue('no test for paramtype available',False);
|
|
|
end;
|
|
@@ -828,7 +839,6 @@ end;
|
|
|
|
|
|
procedure TTestFieldTypes.TestSetBlobAsParam(asWhat: integer);
|
|
|
var
|
|
|
- i : byte;
|
|
|
ASQL : TSQLQuery;
|
|
|
|
|
|
begin
|