.

Olá pessoal,

me interessei pelo assunto pois já tive problemas com o recordcount
tempos atrás.. e bota tempo nisso :-)

seguinte, se vc deseja apenas saber se a consulta NÃO esta vazia,
tanto o recordcount como o isempty funciona, pois o recordcount
retorna o no. de registros "fecthados" :-D, e o primeiro registro
sempre está "fetchado", se existir.

mas, se o assunto é saber o numero de registros... através do
recordcount, o ideal seria fecthall antes de chamar o recordcount...
nada de Last, isso é loucura.

à respeito de usar uma outra consulta com COUNT(*).. bom, acredito
ser melhor em tempo de resposta (para saber no. de registros), mas
a idéia de criar outra query não agrada à muitos. Eu uso hoje o
FecthAll, mas num lembro de usar em tabelas com dezenas de milhares
de registros, nessa situação, uma consulta paralela talvez agrade na
performance.


var
  qryT: TIBQuery;

...

// aconselho específicar os campos desejados, ao invés de *
  qry1.sql.text := 'select campo1, campo2 from tab1';

// nova query para consulta total de regitros
  qryT := TIBQuery.create;
  qryT.Assign( qry1 );
  qryT.sql.text := 'select count(*) from tab1';
  qryT.open;
  qryT.tag := qryT.fields[0].asinteger;
  qryT.close;

// o primeiro registro, se exitir, será "fetchado" e recordcount 1
__qry1.open;



.
--- Em delphi-br@yahoogrupos.com.br, Marcelo Almeida <[EMAIL PROTECTED]>
escreveu
> Alan escreveu:
> 
> >esse modo que o Rodrigo falou é mais indicado do que o RecordCount,
isso eu 
> >ouvi com o Bruno Lichot q deu uma palestra em porto alegre
> >  
> >
> 
> Se o que se quer é saber se o select retornou registros, como o exemplo 
> que foi passado, o melhor é usar o isempty.
> O select count serve para informar a quantidade de registros, mas
muitas 
> vezes precisamos saber se existe algum registro e não a quantidade
deles.
> Dependendo das condições do select o count pode demorar bastante.
> 
> -- 
> Marcelo Almeida





-- 
<<<<< 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