Como contar registros de uma tabela

Delphi

11/06/2008

Como faço para contar quantos registros existem numa tabela?
Tentei usar o recordcount mas não funcionou. Com a tabela com 20 registros ele retornava 19 registros e mesmo quando eu exclui um registro o recordcount continuava retornando 19.

Luiz


L_carlos

L_carlos

Curtidas 0

Respostas

Onjahyr

Onjahyr

11/06/2008

Dá uma olhada neste tópico, tem até um componente que faz isso (RXLib):

http://forum.clubedelphi.net/viewtopic.php?p=130058&sid=b58c78dc3220a4d6741be9fc0bf406e7


GOSTEI 0
Eniorm

Eniorm

11/06/2008

Tentei usar o recordcount mas não funcionou. Com a tabela com 20 registros ele retornava 19 registros e mesmo quando eu exclui um registro o recordcount continuava retornando 19. Luiz


antes de usar o RecordCount, vc precisa fazer um Fetch na sua query, assim a contagem será exata.

vc pode fazer da seguinte forma
Query.Last;
Query.First;


ou diretamente
Query.FetchAll;



GOSTEI 0
L_carlos

L_carlos

11/06/2008

vlw pessoal. Usei o cosdigo abaixo e funfou. Vlw.

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(´select count(COD_CLIENTE) from CLIENTES´);
Query1.Open;
Label1.Caption:= IntToStr(Query1.FieldByName(´COUNT´).AsInteger);


Luiz


GOSTEI 0
Brunodsr

Brunodsr

11/06/2008

Ola,

A melhor forma de saber a quantidade de registros é fazer isso via SQL (select count(*) from TABELA).

Isso por que o banco de dados trabalha com paginacao, assim, indo para o primeiro e logo apos para o ultimo registro, vai demorar uma eternidade. Ja usando o comando SQL isso leva segundos.

Fica ai a dica.

Espero ter ajudado


GOSTEI 0
Robinhocne

Robinhocne

11/06/2008

busca pela uma instrução sql

with IbQuery do
begin
close;
sql.clear;
sql.add(´Select max(Codigo) as ´Maximo´ From SuaTabela´);
open;
end;

IbQuery.ParamByName(´Maximo´).AsInteger := Edit1.text;

Codigo é o campo que vc quer que retorna o numero maximo que existe nele e Maximo é onde vai ficar para mostrar o resultado

e ai o IbQuery.ParamByName( ... é para que a instrução mostra no edit


GOSTEI 0
POSTAR