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

17/05/2017

0

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

Responder

Post mais votado

17/05/2017

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

Gutierry Pereira

Gutierry Pereira
Responder

Mais Posts

17/05/2017

Daniel Araújo

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
Responder

19/05/2017

Emerson

Ok! colegas, funcionou... Obrigado
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar