Atribuir Valor do Campo num SQL com Valor do CurrencyEdit
Bom dia amigos, comecei a usar o componente CurrencyEdit. Gostaria de saber como atribuir no comando sql:
Exemplo:
Um abraço a todos
Mario
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
Curtidas 0
Respostas
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+
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
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
Feliz Natal
Mario
GOSTEI 0
Vinicius2k
24/12/2004
Colega,
Bom ! É o melhor tipo para este caso.
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.
Muito obrigado ! Igualmente, para vc e sua família.
T+
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
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é
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
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:
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 :
T+
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