Acessar campos numéricos do Oracle com o DBExpress pode apresentar problemas de formatação e o erro ???TDBXError with message ‘ORA-01722: número inválido’??? no ApplyUpdates, uma forma de resolver/contornar este problema é definir o parâmetro NLS_NUMERIC_CHARACTERS na conexão do Oracle.
Adicione o código no evento AfterConnect do TSQLConnection:
procedure TMainDM.SQLConnectionAfterConnect(Sender: TObject); const SQL = 'ALTER SESSION SET NLS_NUMERIC_CHARACTERS=''.,'''; begin SQLConnection.ExecuteDirect(SQL); end;
thank you very much!!!
There was this error in my projects in D2010!!!
fantastic..
thank you really…
Cara muito bom … vai no Delphi 7 tb … valeu!
Aleluia que alguém fala uma coisa que presta!
Valeu! Informação muito boa.
Cara tem alguma dica pra resolver esse problema com FireBird 2.1 ?
@Jeremias: Este erro é exclusivo do oracle veja a mensagem “ORA-01722″.
Você deve ter um erro parecido, para poder te ajudar, você precisa informar mais detalhes e pelo menos a mensagem de erro completa.
Ok.
Uso D7 + Dbexpress + FB 2.1 ….
Não uso Driver especifico do FireBird, uso padrão IBconnection + dbexpint + Vendor Lib = fbclient
Uso 1 sqlDataSet + 1 DataSetProvider com a propriedade poAllowCommandText=True pra pesquisas genéricas e ligo meus ClientDataSet a estes e tem funciona tranquilo.
Mas estou com problema quando tento comparar ou armazenar o conteudo de campos do tipo NUMERC ou DECIMAL
Dá o erro: raised exception class EconvertError with message = is not a valid floating point value
No debug, se eu apontar para o tipo AsFloat ele me mostra:
cdEstoque.fieldbyname(quantidade).asfloat = delphi execption EconvertError at $9A9F949
Detalhe: Já tentei AsFloat, AsCurrency, AsBcd e dá o mesmo.
Preciso apenas comparar essa expressão:
if cdEstoque.fieldbyname(quantidade).asfloat <=0 then
Detalhe: A pesquisa abre normal e consigo Navegar, armazenar, ou comparar qualquer tipo de dado diferente de NUMERIC ou DECIMAL
Mais informação no link: http://www.devmedia.com.br/forum/delphi/413062-Erro-ao-comparar-ou-armazena-campos-numericos-com-Dbexpress.html
Ajuda aí …