Array
(
)

Duvida em quantidade de Registros!

Luiz.claudio.vieira
   - 19 ago 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


Motta
   - 19 ago 2004

no afteropen

faça

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


Sandra
   - 19 ago 2004

Luz Claudio,

#Código

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!


Luiz.claudio.vieira
   - 19 ago 2004


Citação:
no afteropen

faça

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

Caro colega, nao deu certo!


Luiz.claudio.vieira
   - 19 ago 2004

O da Sandra deu certo! Valeu!


Paulo_amorim
   - 19 ago 2004

Olá

Pra efeito de reduçao de código:

#Código

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


Até+


Vinicius2k
   - 19 ago 2004

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+


Paulo_amorim
   - 19 ago 2004


Citação:
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?


Vinicius2k
   - 19 ago 2004


Citação:
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 :
#Código

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+