Array
(
)

valor decimal TFmtbcdfield em dbxpress

Ronaldorezende
   - 19 nov 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).


Vieira Neto
   - 28 nov 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:

alter session set nls_numeric_characters = ´´.,´´

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


Ronaldorezende
   - 28 nov 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 (.) .