Array
(
)

erro no update por sql

Salupe
   - 23 fev 2006

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


Paullsoftware
   - 23 fev 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
Citação:
FormatFloat(´#,,0.00´,SuaVariavel)
acho ela melhor e até hoje não tem me deixado na mão...