valor decimal TFmtbcdfield em dbxpress

Delphi

19/11/2003

estou usando dbexpress.
Não consigo inserir pelo kylix3 valores decimais.
Toda vez que tento salvar um valor com casas decimais,
ele grava no banco apenas o valor antes da vírgula.
O tipo de meu campo é TFMTBCDFIELD
estou usando SQLDataset ligado a datasetprovider e clientDataset.
o meu banco de dados é o firebird 1. O tipo do campo no firebird é NUMERIC(18,2)

--
Ronaldo Rezende Vilela Luiz
Uberaba, MG
www.oodesign.com.br
(portal/fórum sobre orientação a objetos).


Ronaldorezende

Ronaldorezende

Curtidas 0

Respostas

Vieira Neto

Vieira Neto

19/11/2003

Tive um problema parecido, mas usando o Oracle. A única diferença é que os meus campos são reconhecidos como TBCDField, setei a propriedade NumericMapping para false.

Assim que abri conexão com o banco enviei o seguindo comando:

[color=red:47b889025a]alter session set nls_numeric_characters = ´´.,´´[/color:47b889025a]

então o banco passou a trabalhar corretamente com as valores numericos.


GOSTEI 0
Ronaldorezende

Ronaldorezende

19/11/2003

já consegui resolver o problema.
setei a variável de ambietne LC_NUMERIC para en_US.
(export LC_NUMERIC=en_US)

Isso diz que o padrão de números do ambiente é separado por . e não por , .
O kylix só funciona com separação por ponto (.) .


GOSTEI 0
POSTAR