erro no update por sql
Uso Delphi 6 e Firebird 1,5 com paleta interbase
Não sei o que está acontecendo ou se sou eu que fiz errado, mas quando coloco pra fazer a alteração de um produto por query, fazendo o comando em sql tentando colocar o valor do produto que vem de uma variavel currency, na hora de colocar o valor no bd ele inverte a virgula pelo ponto, sei q é o padrao americano, mas como posso colocar o valor então.
Fiz assim:
Update ItemMovProdutos set ´+
´Quantidade = ´´´+FormatCurr(´0.#´,Quant)+´´´, ´+
´Valor = ´´´+PRINCIPAL.Remove(EditValor.Text)+´´´, ´+
´ValorTotal = ´´´+FormatCurr(´0,00´,CurTotal.Value)+´´´, ´+
´where CodMovProduto = ´´´+EditCodMovProduto.Text+´´´ ´+
´and CodProduto = ´´´+EditCodProduto.Text+´´´ ´+
´and CodFilial = ´´´+IntToStr(PRINCIPAL.FilUs)+´´´ ´);
Já coloquei vária formas que tentei nesse exemplo (principal remove é uma rotina minha pra tirar tudo q não for numero ou virgula)
mas ele em vez de 16,51 grava 165100
como que eu faço essa declaração.
Agradeço antecipadamente qualquer ajuda.
Sandro
Não sei o que está acontecendo ou se sou eu que fiz errado, mas quando coloco pra fazer a alteração de um produto por query, fazendo o comando em sql tentando colocar o valor do produto que vem de uma variavel currency, na hora de colocar o valor no bd ele inverte a virgula pelo ponto, sei q é o padrao americano, mas como posso colocar o valor então.
Fiz assim:
Update ItemMovProdutos set ´+
´Quantidade = ´´´+FormatCurr(´0.#´,Quant)+´´´, ´+
´Valor = ´´´+PRINCIPAL.Remove(EditValor.Text)+´´´, ´+
´ValorTotal = ´´´+FormatCurr(´0,00´,CurTotal.Value)+´´´, ´+
´where CodMovProduto = ´´´+EditCodMovProduto.Text+´´´ ´+
´and CodProduto = ´´´+EditCodProduto.Text+´´´ ´+
´and CodFilial = ´´´+IntToStr(PRINCIPAL.FilUs)+´´´ ´);
Já coloquei vária formas que tentei nesse exemplo (principal remove é uma rotina minha pra tirar tudo q não for numero ou virgula)
mas ele em vez de 16,51 grava 165100
como que eu faço essa declaração.
Agradeço antecipadamente qualquer ajuda.
Sandro
Salupe
Curtidas 0
Respostas
Paullsoftware
23/02/2006
Crio que valor e ValorTotal são do tipo Float ou Decimal se sim não precisa formatá-los...
mais se for um outro tipo, por exemplo VarChar(x) use a função
mais se for um outro tipo, por exemplo VarChar(x) use a função
FormatFloat(´#,,0.00´,SuaVariavel)
acho ela melhor e até hoje não tem me deixado na mão...GOSTEI 0