Por isso q eu expliquei no meu comentário. Via SQL é de um jeito; usando um 
componente da DataSet é de outro jeito! Não reparou nisso?
Sds.

______________________________
To: delphi-br@yahoogrupos.com.br
From: [EMAIL PROTECTED]
Date: Wed, 1 Oct 2008 06:08:32 -0700
Subject: RES: [delphi-br] Verificar se a tabela encontra-se vazia antes de 
abrir form

Só tem que cuidar para não misturar as propriedades e ter um resultado 
indesejado.
Por exemplo, se você utilizar o Count(*), a propriedade Query1.IsEmpty não é 
util, porque mesmo sem registro, a Query1 retornará um registro com o valor 
zero.

Melhor usar a propriedade adequada para cada situação. "Cada um no seu 
quadrado".

Luciano Calenzani Simões

----- Mensagem original ----
De: Rubem Nascimento da Rocha <[EMAIL PROTECTED]>
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quarta-feira, 1 de Outubro de 2008 9:55:41
Assunto: RE: RES: [delphi-br] Verificar se a tabela encontra-se vazia antes de 
abrir form

Isto é um equívoco. O método IsNull() existe apenas para descendentes da classe 
TField, e não existe para descendentes da classe TDataSet.

Para verificar se uma tabela está vazia, via SQL, melhor fazer um COUNT(*) dos 
registros. Se retornar zero, é pq não tem registro nenhum. Agora, se for usar 
um dataset de alguma camada de acesso, costumo fazer assim;

usando BDE => not (Boolean(Query1. RecordCount) and (not Query1.IsEmpty) and 
(not Query1.Eof))

usando dbExpress => not (Boolean(SQLQuery1. RecordCount) and (not 
SQLQuery1.IsEmpty) and (not Query1.Eof))

usando ADO/dbGo => not (Boolean(ADOQuery1. RecordCount) and (not 
ADOQuery1.IsEmpty) and (not ADOQuery1.Eof) )

Ou seja, não checo somente uma propriedade, e sim todas as que indiquem que 
existem registros no dataset.

Sds.


_________________________________________________________________
Confira vídeos com notícias do NY Times, gols direto do Lance, videocassetadas 
e muito mais no MSN Video!
http://video.msn.com/?mkt=pt-br

Responder a