Duvida em quantidade de Registros!

19/08/2004

Caros amigos, estou com a seguinte dúvida! Tenho uma pesquisa em Sql que me retorna 1 registro ou mais de 1 registro. Como faço para quando ele retornar mais de 1 registro ele passe a propriedade visible de um DbGrid para True?

Atenciosamente

Luiz Claudio


Luiz.claudio.vieira

Respostas

19/08/2004

Motta

no afteropen

faça

dbgrid1.Visible := not (DataSet.Eof);


Responder Citar

19/08/2004

Sandra

Luz Claudio,

with SuaQuery do begin
  Close;
  SQL.clear;
  SQL.Add(´Select blá blá blá´);
  Open;
  If RecordCount = 1 then begin
    // seus comandos
  end else
    If RecordCount > 1 then begin
      DbGrid.visible := true;
      // mais comandos
    end;
end;


Verifique se é isso!


Responder Citar

19/08/2004

Luiz.claudio.vieira

no afteropen faça dbgrid1.Visible := not (DataSet.Eof);

Caro colega, nao deu certo!


Responder Citar

19/08/2004

Luiz.claudio.vieira

O da Sandra deu certo! Valeu!


Responder Citar

19/08/2004

Paulo_amorim

Olá

Pra efeito de reduçao de código:

DBGrid1.Visible := (Query1.RecordCount > 1);


Até+


Responder Citar

19/08/2004

Vinicius2k

Colegas,

Cuidado com a leitura do .RecordCount !
Dependendo da camada de acesso isso pode ser um problema ao invés de solução...
Por exemplo, no IBX sem aplicar o FecthAll após a abertura, a leitura é inverídica... no dbExpress se a Query contiver parametros e/ou Joins a tentativa de leitura levanta uma exceção...

T+


Responder Citar

19/08/2004

Paulo_amorim

Colegas, Cuidado com a leitura do .RecordCount ! Dependendo da camada de acesso isso pode ser um problema ao invés de solução... Por exemplo, no IBX sem aplicar o FecthAll após a abertura, a leitura é inverídica... no dbExpress se a Query contiver parametros e/ou Joins a tentativa de leitura levanta uma exceção... T+


Olá

Qual seria a solução então 2k? Existe outro modo de trazer a quantidade de registros do DataSet?


Responder Citar

19/08/2004

Vinicius2k

Olá Qual seria a solução então 2k? Existe outro modo de trazer a quantidade de registros do DataSet?


Outra query responsável só pela contagem...
Seria isso :
select count(*) as Registros
from X.X.X.X
where X.X.X.X

Apenas as condições e/ou parametros da cláusula where devem ser os mesmos da query principal...
Basta abrir a query e ler o conteúdo do Field ´Registros´...

T+


Responder Citar