Parametros com DBX Oracle

17/02/2006

Ola pessal !
Estou com um problema que não me deixa em paz a muito tempo, não esou conseguindo trabalhar com parametros no DBX, ele só esta aceitanto tio String, ja me deraum uma alternativa de passar meus parametros como string, mas isso causaria perda de performance na consulta, pois o Oracle converteria o tipo do campo e não ultilizaria o Indice(isso foi testado e aprovado).
Portante aos amigos que ultilizaum DBX com oracle, eu peço ajuda para trabalhar com parametros pois não estou conseguindo

Erro = ´Invalid Field Type´
Delphi 7 + Oracle 9i.

Obrigado a todos


Mdm

Respostas

18/02/2006

Jurandi

Caro,
Verifique os tipos de campos que o Oracle espera.
Não se esqueça de que a partir da versão 6 do Delphi os tipos de campos numericos quando acesso a um DB SQL são diferentes, algo assim: BCD, FMTBCD, etc.. Logo, raro casos especiais, não pode mais passar variaveis tipo double,real.
Caso necessário, vc terá que passar como parametro o valor já convertido. Veja a Unit FmtBcd e outras para conversão de valores.

[],


Responder Citar

18/02/2006

Mdm

Obrigado amigo ! me tire mais uma duvida, estou tentado montar um ligação mestre detalhe, mas quando vou ativar a query filha esta retornando ´Invalid Number´ isso somente em tempo de projeto, estou ligando isso ao fo de em tempo de execução estou usando esse codigo :
  Connection.ExecuteDirect(´ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ´´.,´´´);

mas como resolver isso em tempo de projeto ?

Obrigado


Responder Citar

30/03/2009

Cd.karlh

Tenho problema muito parecido.

O Meu faz com que o valor venha truncado. Ele define o campo como sendo FMTBCDField, mas trunca o valor.

A expressão aparece no oracle com 13,4222 por exemplo. E no TClientDataSet aparece 13. Truncou o valor.

Até consigo fazer aparecer com zeros decimais, mas valor é truncado...

Alguma dica a mais ?


Responder Citar