O grande problema é que as vezes sql que contem um SUM, COUNT, AVG e CIA
realmente retornam uma linha (ainda que toda nula), por isso o TQuery
retorna, no record count, 1.

Se você fizer o uso do having vai ver que o registro não será trazido. Mas
de uma forma mais prática, você pode tentar ver se o registro chave (qqr um
que sempre conterá valor na sua pesquisa) é nulo... Daí matou a charada

Espero ter ajudado

Thiago
----- Original Message ----- 
From: "silvajatem" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Wednesday, March 09, 2005 9:55 PM
Subject: [delphi-br] Re: Query e RecordCount




Oi

Tambem enfrentei problemas com TQuery/RecordCount e resolvi
percorrendo a query e vericando o numero de registros...

while not TQuery.EOF do
begin
  Inc(Contador);
  TQuery.Next;
end;

Porém, fiz isso porque tinha urgência em resolver e os dados
resultados eram poucos... nunca passam de 10. Se a consulta retornar
muitos dados irá tornar inviável esta solucao...


Espero que ajude. Boa Sorte...
Cassiano Roloff.
Passo Fundo - RS

--- Em delphi-br@yahoogrupos.com.br, Hélder Rodrigues
<[EMAIL PROTECTED]> escreveu
> Boa noite amigos ....
>
> Estou enfrentando um problema com o componente da classe TQuery
> e a sua propriedade RecordCount ...
>
> ... acontece que, quando a SQL é simples ... por exemplo:
> -----------------------------------------------
> Select * from cq_ativ.db where codigo = '99'
> -----------------------------------------------
>
> ... e o registro com o código 99 não existe ... e abro o Query com
o comando
> Open ... tudo blz ... a propriedade RecordCount dele é = a 0.
>
> Tudo bem até aqui ... só que quando
> uso instruções SQL um pouquinho mais complexas ... contendo o
comando
> SUM por
> exemplo, e envolvendo 2 tabelas ou mais  ... mesmo não encontrando
> nenhum registro que
> satisfaça a condição ... teoricamente teríamos RecordCount = 0 ...
mas
> não é o que
> esta acontecendo ... nesse caso ... quando não foi encontrado
nenhum
> registro ... a propriedade
> RecordCount = 1 ... !!!!!  E isso tá complicando a minha vida ...
>
> Alguém já passou por situação parecida ??
>
> Estou usando Delphi 6 ... e tabelas piradoidox ...
>
> Estou enviando tb a instrução SQL ... pra quem tiver
disponibilidade de
> dar uma olhada.
>
> Desde já obrigado a todos.
>
> Att.
>
> Hélder
>
> SQL:
> ----------------------------------------
> SELECT
> Cq_dd."CodCQ_MOEDA" ,
> Cq_dd."CodCQ_CLASS" ,
> Cq_ApClas."Classe" ,
> Cq_dd.QuantInsumo ,
> Cq_dd.CustoUnitario ,
> (Cq_insum.Descricao )  as Insumo ,
> (sum(Cq_fatpl.QuantidadeNaoAcumulada * Cq_dd.QuantInsumo *
> Cq_dd.CustoUnitario ) )  as CustoExec
>
> FROM
>
> "Cq_fatpl.DB" Cq_fatpl ,
> "Cq_insum.DB" Cq_insum ,
> "Cq_dd.DB" Cq_dd ,
> "Cq_ApClas.DB" Cq_ApClas
>
> WHERE
>
> (Cq_fatpl.CodCQ_ATIV = Cq_dd.CodCQ_ATIV )
> AND
> (Cq_dd.CodCQ_INSUM = Cq_insum.CodCQ_INSUM )
> AND
> (Cq_dd.CodCQ_CLASS = Cq_ApClas.CodCQ_CLASS )
> AND
> (Cq_fatpl."CodCQ_ATIV" = :Atividade )
> AND
> (Cq_fatpl."Periodo" <= :Periodo )
>
> GROUP BY
>
> (Cq_insum.Descricao ) ,
> Cq_dd."CodCQ_CLASS" ,
> Cq_dd."CodCQ_MOEDA" ,
> Cq_ApClas."Classe"  ,
> Cq_dd.QuantInsumo ,
> Cq_dd.CustoUnitario
>
> ORDER BY
>
> Cq_dd."CodCQ_CLASS" ,
> Cq_ApClas."Classe" ,
> Cq_dd."CodCQ_MOEDA" ,
> Insumo
> --------------------------------------------------------------------
-----------





-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]

Links do Yahoo! Grupos











-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a