Insert into com Valores alguem sabe... 12,51 não consigo..

Delphi

10/02/2004

Usando a virgula.....
como faço para gravar um valor por exemplo
1,25

quando tento gravar ele me da um erro.. uso o seguinte codigo

Q.Sql.Add(´Insert into CliCredito(Codigo,Nome,ValorCredito´);
Q.Sql.Add(´Values (+ QuotStr(editCodigo.text) + ´,+
QuotStr(editNome.text) + ´,+
QuotStr(editValorCredito.text) ´);
Q.Execsql;

se eu gravo um valor tipo assim.: 1,00 ele grava normal... mas se coloco assim 1,11 ele ja da um erro..


o Campo no Banco de Dados é Numeric 12,2



Como faço para resolver este poblema....obrigado..


Babu

Babu

Curtidas 0

Respostas

Adilsond

Adilsond

10/02/2004

Voce deverá converter a virgula por ponto

Ex: em vez de 1,25 voce deverá informar 1.25

Existe duas maneiras de fazer isto:

1 - crie uma função passando o valor do edit e lhe retornando uma string com o valor com a virgula trocada por ponto.
2 - passar os valores por parametros. Ex:
´Values (´ + editCodigo.text + ´,´ + QuotStr(editNome.text) +
´, :ValorCredito)


GOSTEI 0
Fabio.hc

Fabio.hc

10/02/2004

Por parâmetros:

Ex:
Q.Sql.Add(´Insert into CliCredito(Codigo,Nome,ValorCredito) values Values (:cod, :nom, :valor)´); 
Q.Sql.Params[0].Value:=strtoint(editCodigo.text);
Q.Sql.Params[1].Value:=editNome.text; 
Q.Sql.Params[2].Value:=strtofloat(editValorCredito.text); 
Q.Execsql; 



GOSTEI 0
POSTAR