Я перенес приложение IBX с 500+ формами в Firedac.Я сопоставил типы данных с помощью Delphi Help.Вот мое отображение данных:
with ADB.FormatOptions do
begin
OwnMapRules := True;
DefaultParamDataType := ftVariant;
MapRules.Clear;
with MapRules.Add do
begin
PrecMax := 4;
PrecMin := 0;
ScaleMax := 0;
ScaleMin := 0;
SourceDataType := dtFmtBCD;
TargetDataType := dtInt16;
end;
with MapRules.Add do
begin
PrecMax := 10;
PrecMin := 5;
ScaleMax := 0;
ScaleMin := 0;
SourceDataType := dtFmtBCD;
TargetDataType := dtInt32;
end;
with MapRules.Add do
begin
PrecMax := 18;
PrecMin := 11;
ScaleMax := 0;
ScaleMin := 0;
SourceDataType := dtFmtBCD;
TargetDataType := dtInt64;
end;
with MapRules.Add do
begin
SourceDataType := dtFmtBCD;
TargetDataType := dtDouble;
end;
with MapRules.Add do
begin
SourceDataType := dtDateTimeStamp;
TargetDataType := dtDateTime;
end;
end;
Это отображение верно?Если это false, как мне это сделать?
Когда FDQuery имеет параметры и параметр не имеет значения при выполнении запроса, возникла исключительная ситуация:
[FireDAC] [Phys] [FB] -338.Тип параметра [XXX] изменен с [ftVariant] на [ftInteger].Запрос должен быть переоценен.Возможная причина: присвоение свойству TFDParam.AsXXX неявно изменило тип данных параметра.Подсказка: используйте TFDParam.Value или соответствующее свойство TFDParam.AsXXX
Как мне решить эту проблему?Спасибо за все.