Jefferson que trabalha comigo, me questionou o que era mais rápido para verificar se havia dados em um TDataset, verificar a propriedade RecordCount ou a propriedade Eof?
Q: TQuery;
begin
…
Q.Open;
if not Q.Eof then
…
// ou
if Q.RecordCount > 0 then
…
Fiquei sem saber a resposta e falei para ele testar. Ele chegou a conclusão que o método Eof era instantâneo ao contrário do RecordCount.
Acredito que internamente a propriedade RecordCount deva “levantar” a quantidade de registros no momento em que ela é lida. Pelo menos no BDE que foi o tipo de comunicação que foi utilizado nos testes.
Independente disso, no TDataset existe uma propriedade que é mais legível, a IsEmpty:
Q: TQuery;
begin
…
Q.Open;
if not Q.IsEmpty then
…
Comentários recentes