GARANTIR DESCONTO

Fórum Acesso ao Oracle via DbExpress #239284

23/06/2004

0

Quanto tento gravar um registro no Oracle estou obtendo o seguinte erro: ´ORA-01722: número inválido´.
Os campos já estão como TFMTBCD.

Como trabalho como o tipo Float ou numérico neste caso ?

Agradeço,


Luizbhering

Luizbhering

Responder

Posts

23/06/2004

Bon Jovi

Já me deparei com essa msg mas não lembro bem o que era.. Como se tivesse gravando uma string nao válida pro campo number, mas as vezes não era bem isso.

Dê mais detalhes... Mostre a query, a parte do código em q vc atribui parametros e grava, e a estrutura da tabela (incluindo os tipos, com precisão no caso do NUMBER). E mais o q puder.. Dá um copy no DataSet e cola aqui pra mostrar os TFields e TParams se tiver usando eles.


Responder

Gostei + 0

25/06/2004

F.lunkes

[quote=´luizbhering´]Quanto tento gravar um registro no Oracle estou obtendo o seguinte erro: ´ORA-01722: número inválido´.
Os campos já estão como TFMTBCD.

Como trabalho como o tipo Float ou numérico neste caso ?

Agradeço,




Caro colega, basta vc colocar no evento AffterConnection do SQLConnection a seguinte linha:
sqlcnn.ExecuteDirect(´alter session set nls_numeric_characters = ´.,´´);

Isto fara com seja setado um prametro no oracle que converte ele para outro.

Att. Fábio


Responder

Gostei + 0

13/07/2004

Nardelli

Olá...

Eu tive o mesmo problema quando fui executar Queryes com parâmetros(ORA-01722), ai segui o conselho de nosso colega e adicionei o evento afterconnection do meu SQLConection, ai o erro que acontece agora é o seguinte: ORA-01036 Nome/Numero de variável inválido.

Obs: SQL: ´SELECT * FROM TS WHERE COD_9 = :COD´
Passagem do Parâmetro: SQLQUERY1.PARAMS[0].ASINTEGER
Por que AsInteger ? Por que toda a minha aplicação foi escrita com Interbase e dbExpress e agora quero utilizar Oracle.

Estrutura da Table TS: COD NUMBER(38), COD_9 NUMBER(09), COD_4 NUMBER(04)

Agradeço qualquer ajuda.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar