Atribuir Valor do Campo num SQL com Valor do CurrencyEdit

Delphi

24/12/2004

Bom dia amigos, comecei a usar o componente CurrencyEdit. Gostaria de saber como atribuir no comando sql:

Exemplo:

            DM.SQL_Vendas.CommandText := ´INSERT INTO Vendas (Numero,Valor) values (:vNumero,:vValor)´;
            DM.SQL_Vendas.ParamByName(´vNumero´).AsString   := StrToInt(CampoNumero.Text) ;
            DM.SQL_Vendas.ParamByName(´vValor´).???????   := ????????(CurrencyEdit.Text);


Um abraço a todos

Mario


Aldus

Aldus

Curtidas 0

Respostas

Vinicius2k

Vinicius2k

24/12/2004

Colega,

Utilize [b:e1c2b894f8]AsCurrency[/b:e1c2b894f8].
AsFloat também é válido... depende da precisão pretendida e do tipo da coluna no Banco de Dados.

Espero ter ajudado.
T+


GOSTEI 0
Aldus

Aldus

24/12/2004

Olá Vinicius, eu uso tipo decimal e tenho campos de até 4 decimais. Qual seria mais indicado? Qual a diferença entre os dois?

Feliz Natal

Mario


GOSTEI 0
Vinicius2k

Vinicius2k

24/12/2004

Colega,

eu uso tipo decimal

Bom ! É o melhor tipo para este caso.

...e tenho campos de até 4 decimais. Qual seria mais indicado? Qual a diferença entre os dois?

Utilize AsCurrency. O tipo Currency é o mais indicado para trabalhar-se com valores monetários. Dá uma margem de erro infinitamente pequena em cálculos pois armazena apenas os 4 últimos digitos para a notação decimal.
É exatamente ele que vc precisa.

AsFloat gera uma notação decimal muito grande. Em valores monetários esta precisão é desnecessária e pode ocasionar falhas de arredondamento. É ideal se associado com colunas Float ou Double no Banco de Dados.

Feliz Natal

Muito obrigado ! Igualmente, para vc e sua família.

T+


GOSTEI 0
Aldus

Aldus

24/12/2004

Vinicius, faltou um detalhe.

Como transformar os campos para fazer uma operação matemática com campos do currencyedit:

Tipo: CurrencyEdit3.Text := CurrencyEdit1.Text * CurrencyEdit2.Text;


Obrigado mesmo.

Até


GOSTEI 0
Vinicius2k

Vinicius2k

24/12/2004

Mario,

Seu CurrencyEdit é o componente da RXLib ou JediVCL?

Se sim, leia e atribua valores à propriedade [b:71b5542dc7]Value[/b:71b5542dc7] em substituição à propriedade [b:71b5542dc7]Text[/b:71b5542dc7].
Exemplo:
CurrencyEdit3.Value := CurrencyEdit1.Value * CurrencyEdit2.Value;


Se for um outro componente vc precisará verificar se ele tem uma propriedade que armazene um valor ao invés de texto. Se ele não tiver, vc precisará fazer conversões do tipo :
CurrencyEdit3.Text := FloatToStr(StrToFloat(CurrencyEdit1.Text) * StrToFloat(CurrencyEdit2.Text));


T+


GOSTEI 0
POSTAR