Como passar para o Firebird (retencao [decimal 5,2]) um texto do maskedit ??

Delphi

17/05/2017

Tenho um maskedit formatado para percentual (EdtRetencao) >> 2,05

Como gravar isso no firebird, o texto vai mas lá quando chega neste campo, coloquei DECIMAL 5,2 (nao sei se seria o correto esse tipo escolhido para decimal no firebird).. entao lógico dá erro porque o campo no firebird é numerico.

Minha dificuldade é colocar isso no update da query.

SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('UPDATE EMPRESAS ');
SQLQuery1.SQL.Add('SET RAZAO = '+quotedstr(EdtRazao.text));
SQLQuery1.SQL.Add(',CODIGO = '+quotedstr(EdtCodigo.text));
SQLQuery1.SQL.Add(',EMAIL = '+quotedstr(Edtemail.text));

SQLQuery1.SQL.Add(',RETENCAO = '+quotedstr(EdtRetencao.text));

Esta ultima linha é o problema... ela tem que ir para o fire numerico e nao texto... mas se eu usar o strToFloat( a instrucao dá erro !)
Emerson

Emerson

Curtidas 0

Melhor post

Gutierry Pereira

Gutierry Pereira

17/05/2017

troque a "," por "." antes de da o strToFloat.
GOSTEI 1

Mais Respostas

Daniel Araújo

Daniel Araújo

17/05/2017

Olá Emerson!

Faz assim:
SQLQuery1.SQL.Add(',RETENCAO = ' + StringReplace(EdtRetencao.text, ',', '.', [rfReplaceAll]));


Se a resposta foi útil dê um like!

Daniel Araújo
Programador Sagaz
GOSTEI 1
Emerson

Emerson

17/05/2017

Ok! colegas, funcionou... Obrigado
GOSTEI 0
POSTAR