Ver Mensaje Individual
  #37  
Antiguo 27-04-2023
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
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; // Bigint
IBQuery.Params.ParamByName('Value1').AsString := MyRecord.Value1; // varchar()
IBQuery.Params.ParamByName('Value2').AsInteger := MyRecord.Value2; // smallint
IBQuery.Params.ParamByName('Value3').AsInteger := BoolToInt(MyRecord.Value3); // smallint (0,1)
Responder Con Cita