Problema num ClientDataSet

Delphi

30/10/2007

Esta é minha query:

QEven99.Close; QEven99.CommandText := ´SELECT ´ + ´LE.LEOPERLANC,LE.LEDATALANC, ´+ ´LE.LEOPERAPROV,LE.LEDATAAPROV, ´ + ´LE.LEQTHORAS,EV.EVCODEVENT, ´ + ´EV.EVDESCOMPL´ + ´FROM ´ + ´LANCEVEN LE, FUNCIONA FU, EVENTOS EV ´ + ´WHERE ´ + ´LE.LEMATRICULA = FU.FUMATFUNC AND ´+ ´LE.LEEMPSIS = FU.FUCODEMP AND ´ + ´LE.LEEVENTO = EV.EVCODEVENT AND ´ + ´LE.LECHAVEPRI = 2007 AND ´ + ´LE.LEANOMES = :P0 AND ´ + ´LE.LEEMPSIS = :P1 AND ´ + ´FU.FUMATFUNC = :P2´ ;

Dentro de um determinado while, eu alimento os parâmetros:

QEven99.Close; QEven99.Params[0].AsInteger := wAnoMes; QEven99.Params[1].AsString := FN.QFunc.FieldByName(Norber.FUCODEMP).AsString; QEven99.Params[2].AsString := FN.QFunc.FieldByname(Norber.FUMATFUNC).AsString; QEven99.Open;


Acontece que quando eu dou UM Open, não dá erro, mas não acontece nada. O cursor fica lá, paradão.

Uso Delphi 7 e Oracle 9i.
Mais uma pergunta: Alguém poderia me dizer como faço para descobrir a estrutura da tabela usando o TOAD FREE? Não tenho instalado na minha máquina o Sql Plus*, nele eu daria DESCR NOME_DA_TABELA. E no TOAD?


Paulo

Paulo

Curtidas 0

Respostas

Jarabeucp

Jarabeucp

30/10/2007

acompanhe passo a passo a execução do teu código assim vc pode indentificar rapdamente qual das linhas de código não ta executando bem.


GOSTEI 0
Martins

Martins

30/10/2007

Esta é minha query: [quote:b5426a36b2]QEven99.Close; QEven99.CommandText := ´SELECT ´ + ´LE.LEOPERLANC,LE.LEDATALANC, ´+ ´LE.LEOPERAPROV,LE.LEDATAAPROV, ´ + ´LE.LEQTHORAS,EV.EVCODEVENT, ´ + ´EV.EVDESCOMPL´ + ´FROM ´ + ´LANCEVEN LE, FUNCIONA FU, EVENTOS EV ´ + ´WHERE ´ + ´LE.LEMATRICULA = FU.FUMATFUNC AND ´+ ´LE.LEEMPSIS = FU.FUCODEMP AND ´ + ´LE.LEEVENTO = EV.EVCODEVENT AND ´ + ´LE.LECHAVEPRI = 2007 AND ´ + ´LE.LEANOMES = :P0 AND ´ + ´LE.LEEMPSIS = :P1 AND ´ + ´FU.FUMATFUNC = :P2´ ;

Dentro de um determinado while, eu alimento os parâmetros:

QEven99.Close; QEven99.Params[0].AsInteger := wAnoMes; QEven99.Params[1].AsString := FN.QFunc.FieldByName(Norber.FUCODEMP).AsString; QEven99.Params[2].AsString := FN.QFunc.FieldByname(Norber.FUMATFUNC).AsString; QEven99.Open;


Acontece que quando eu dou UM Open, não dá erro, mas não acontece nada. O cursor fica lá, paradão.

Uso Delphi 7 e Oracle 9i.
Mais uma pergunta: Alguém poderia me dizer como faço para descobrir a estrutura da tabela usando o TOAD FREE? Não tenho instalado na minha máquina o Sql Plus*, nele eu daria DESCR NOME_DA_TABELA. E no TOAD?[/quote:b5426a36b2]

Deve está havendo algum erro sim, mas vc não será notificado, tente usar o [b:b5426a36b2]Reconcileerror[/b:b5426a36b2] para ser notificado, outra coisa...

Pq tem q ser assim?
FN.QFunc.FieldByName(Norber.FUCODEMP).AsString;

Norber é uma tabela?

Remova os três parametros e veja se executa?

vc está usando Oracle, por isso imagino q esteja usando DBX não é?


GOSTEI 0
Paulo

Paulo

30/10/2007

Já resolvi. Quando deletei o DM, eu criei outro. Acontece que eles não podem ser criados quando eu rodo o programa, pois eles necessitam da Unit Norber. Esse era o pau. Coloquei na Available e funcionou. Esse erro tem a ver com um que eu postei sobre OOP. Já resolvi os dois.


GOSTEI 0
Martins

Martins

30/10/2007

Já resolvi. Quando deletei o DM, eu criei outro. Acontece que eles não podem ser criados quando eu rodo o programa, pois eles necessitam da Unit Norber. Esse era o pau. Coloquei na Available e funcionou. Esse erro tem a ver com um que eu postei sobre OOP. Já resolvi os dois.


Blz, valeu por ter vindo informar sobre a resolução.


GOSTEI 0
POSTAR