Con respecto a los tipos de dato yo no me preocupo mucho.
El componente de Delphi hará las conversiones necesarias.
Todos los enteros (smallint, integer, bigint) .AsInteger
Todos los textos (char(), varchar()) .AsString
Todos las fechas (date, time, ...) .AsDateTime
Todos los decimales (double precision, numeric(x,x), ...) .AsFloat
Para trabajar con booleanos en Firebird 2.5 debes tratarlos como un smallint con valores (0,1) o como un char/varchar() con valores ('S','N')
Por lo tanto deberás hacer la conversión necesaria
Código Delphi
[-]
function BoolToInt(Value: boolean) : integer;
begin
if Value then
Result := 1
else
Result := 0;
end;
BQuery.Params.ParamByName('Id').AsInteger := MyRecord.Id; IBQuery.Params.ParamByName('Value1').AsString := MyRecord.Value1; IBQuery.Params.ParamByName('Value2').AsInteger := MyRecord.Value2; IBQuery.Params.ParamByName('Value3').AsInteger := BoolToInt(MyRecord.Value3);