Si hay un método mejor, utilizar parámetros.
Si utilizaras parámetros no tendrías que hacer eso truquitos para guardar decimales.
Y tambien podrías ahorrarte la variable SQLText.
Ejemplo:
Código Delphi
[-]
With AdoQuery1 do begin
If Active then Close;
SQL.Clear;
SQL.Add('INSERT INTO Proyectos (Descripcion, Importe)');
SQL.Add('VALUES (:Descripcion, :Importe)');
Parameters.ParamByName('Descripcion').AsString := Edit2.Text;
Parameters.paramByName('Importe').AsCurrency := CurrencyEdit1.AsCurrency;
Try
ExecSQL;
Except on E:EDBEngineError do begin
If E.ErrorCode = 902 then showmessgae('error 902'+' en:'+SQL.Text');
end; end; end;