Array
(
)

Parametros com DBX Oracle

Mdm
   - 17 fev 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


Jurandi
   - 18 fev 2006

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.

[],


Mdm
   - 18 fev 2006

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 :
#Código

Connection.ExecuteDirect(´ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ´´.,´´´);

mas como resolver isso em tempo de projeto ?

Obrigado


Cd.karlh
   - 30 mar 2009

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 ?