Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

FelipeUS

Problemas com inserção e remoção no Interbase

Recommended Posts

Olá Pessoal,Estou tendo problemas para deletar um registro quando ele possui ",". Por exemplo: se o campo valor = 3,50. Ao deletar a seguinte mensagem de erro é exibida:exception class EIBInterbaseError with message 'Dynamic SQL ERROR SQL error code = -104Estou usando o tipo de dados Numeric do Interbase (Numeric(7,2)). No Delphi estou utilizando o tipo de dados Float em um TEdit.Estou sem saber como proceder...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta fazendo o delete via SQL ou por tabela ?

Como assim cara? Não sei se entendi tua pergunta... mas tentando responder... eu estou usando uma instrução SQL dentro do meu aplicativo Essa procedure recebe 3 strings e um número real que representaria o valor de um certo produto.
procedure Tms.sqlDeleta(cod, des, un: string; val: real);varcodigo: integer;begin// Instrução de consulta utilizada para pegar o cod(inteiro) do campo a ser deletado  queryMatSecundario.Close;  queryMatSecundario.SQL.Clear;if ( (Trim(cod)<>'') OR (Trim(des)<>'') OR (Trim(un)<>'') OR ( val<> 0.0 )) then begin   queryMatSecundario.SQL.Add('SELECT cod FROM MaterialSecundario where cod_matSecundario = ' + #39 + cod + #39);   queryMatSecundario.SQL.Add(' OR desc_matSecundario ='+ #39 + des + #39 +' OR unid_matSecundario =' +#39 + un + #39 + ' OR val_matSecundario =' + FloatToStr(val)  ); end; queryMatSecundario.Open; codigo := queryMatSecundario.FieldByName('cod').AsInteger; queryMatSecundario.SQL.Clear; queryMatSecundario.SQL.Add('DELETE FROM MaterialSecundario where cod = :codigo'); queryMatSecundario.ParamByName('codigo').AsInteger := codigo; queryMatSecundario.ExecSQL;end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema então deve de estar com o valor, você não pode passar com vírgula "," precisa remover e trocar por ponto, pode fazer uma função que varre o valor e muda, transformando já para string, ou então fazer um StringReplace sobre...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.