[firebase-br] Ajuda com execute statement

Carlos H. Cantu listas em warmboot.com.br
Qua Jan 20 15:52:08 -03 2010


A data tem que estar entre ' ', ou seja, no exemplo, vc tem que passar
como '2009-10-10'.

[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br

F> Boa tarde pessoal..
F> Estou montando uma rotina que na verdade é um instrução sql, para ser 
F> executa dentro de uma sp.
F> A montagem desta instrução estou fazendo assim:
F> txtsql = 'insert into movtoite 
F> (movite,movlan,movdat,procod,marcod,corcod,gracod,prosig,movtot,totitem,movpre,movdsc,'||:ncampo||',movcus,proref,probar)'||
F>               ' values '||'(' 
F> ||:item||','||:lancto||','||:data||','||:codprodu||','||:cdmarca||','||:cdcor||','||:cdgrade||','||
F>  
F> :cdconsig||','||:qde||','||0||','||0||','||0||','||:qde||','||0||','||:cdreferencia||','||:codprobar||')';
F> O que esta acontecendo é que na hora de rodar o execute statement estou
F> obtendo erro de conversão no  campo movdat que é atualizado com a 
F> variável :data;
F> Esta váriavel é resultado de um select de outra tabela.
F> Percebi que o erro esta sendo devido ao formato de data
F> Abaixo é a instrução sql já montada.
F> insert into movtoite 
F> (movite,movlan,*movdat*,procod,marcod,corcod,gracod,prosig,movtot,totitem,movpre,movdsc,PROQ01,movcus,proref,probar)
F> values
F> (1,10276,*2009-10-10*,3293,136,182,4,0,1,0,0,0,1,0,003,00033536)
F> Estou obtendo este erro:
F> erro de conversao da string '1989'
F> Que é devido ao formato de data 2009-10-10 = 1989, ou seja, estou 
F> passando uma data que é 10/10/2009.
F> Outro detalhe que no caso até tirei pois não estou sabendo como resolver
F> isso também, é que tenho um campo que serve de flag na movimentação do
F> estoque o conteúdo dele é 'S' ou 'N'.
F> Também não consigo passar ele na montagem do sql acima.
F> Se alguém puder me ajudar desde já agradeço





Mais detalhes sobre a lista de discussão lista