RecordCount Sempre Retorna 1 ou 0?!

18/12/2003

2

Amigos,

Estou tentando usar o record count, mas acho q tem algo errado.

Estou usando assim:

If (FrmMapa.IBQuery2.RecordCount > 0) Then
Begin
FAÇA...

If (FrmMapa.IBQuery2.RecordCount = 1) Then
FrmMapa.IBQuery3.Params[0].AsString := ´*´
Else
FrmMapa.IBQuery3.Params[0].AsString := ´X´;

FAÇA...
End;


Tenho ABSOLUTA certeza que existem alguns registros maiores que 1, mas ele só me retorna um registro!!!
Se eu fizer assim:

If (FrmMapa.IBQuery2.RecordCount > 1) Then
FrmMapa.IBQuery3.Params[0].AsString := ´*´
Else
FrmMapa.IBQuery3.Params[0].AsString := ´X´;

Ele vai pro segundo If...
Se eu mandar imprimir num ShowMessage o recordCount, ele me retorna 1, mas se eu executar a consulta no Interative Sql do InterBase, me retorna mais de um registro!!!
O que poderá ser??

Verifiquei outros pontos do sistema onde uso o recordcount e sempre no showmessge ele me retorna um (caso seka >=1), caso contrario me retorna 0;

O RecordCount não serve para mostrar quantos registros foi extraido da consulta?


Responder

Posts

18/12/2003

Renaldo

Estou meio com sono e não entendí nada do que vc escreveu, mas veja se isto dá o resultado que vc quer:

1 - Faça o select que filtra os dados que vc quer
2 - Label1.Caption:=´Foram encontrados ´ + IntToStr(suaQuery.RecordCount) + ´ registros.´;

Eu usei um label, vc pode colocar numa variável, Edit, StatusBar...

Abraço


Responder

18/12/2003

Lucas Silva

faça isto logo depois que vc abre a query...

query1.Last;
query1.First;



Lucas!


Responder

20/12/2003

Rafaelunp

[quote:2945f33578=´Lucas Alves Silva´]faça isto logo depois que vc abre a query...

query1.Last;
query1.First;



Lucas![/quote:2945f33578]

Obrigado Amigos.

Lucas, era isso mesmo!


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira