Como retornar mais de 1 registro numa Query Interbase

24/02/2003

0

Oi pessoal,

Estou fazendo uma pesquisa usando um componente IBQUERY
(SELECT * FROM TABELA WHERE NOME = ´X´)

Essa pesquisa está me retornando apenas 1 (UM?!) registro, porém eu sei que existem vários registros com esse critério no meu BD.

Percebi que isso está ocorrendo porque eu não possuo um DBGRID linkado ao meu IBQUERY. Sei que isso é uma espécie de ´otimização´ do Interbase, para retornar uma quantidade pequena de registros e dessa forma minimizar o tempo de pesquisa.

Porém nesse caso eu preciso do total de registros corretos (para lança-los em duas ListBox). Alguém poderia me informar como ´burlar´ essa otimização do Interbase e força-lo a me retornar TODOS OS REGISTROS existentes que atendam ao meu critério?

Obrigado,


Descolado


Anonymous

Anonymous

Responder

Posts

24/02/2003

Anonymous

Vc poderia dar um select count(*) from TABELA where NOME = ´X´, ou poderia dar um comando Last naquela sua query e utilizar a propriedade RecordCount da mesma (esta propriedade poderia estar errada no começo se os registro não estiverem no buffer), dando um comando First após isto.

Obs: Vc poderia dar o comando DisableControls na query antes do comando last para otimizar esta navegação, dando um EnableControls após o First.


Responder

24/02/2003

Navoid

cara use a clausula LIKE assim

****
SELECT * FROM TABELA WHERE NOME LIKE ´X´
****

creio que deve resolver


Responder

24/02/2003

Edson Tm.

Faça:

(SELECT * FROM TABELA WHERE NOME like ´X¬´)

o ¬ funciona como curinga, assim, vai retornar todos os registro que começam com X.

Não se esqueça que o INTERBASE é CaseSensitive.


Responder

24/02/2003

Anonymous

Para resolver seu problema, basta colocar as seguintes linhas de código:

Query.Last;
Query.First;

Christian Chagas.


Responder

24/02/2003

Anonymous

Pessoal, obrigado pelas respostas!
Todas funcionaram, fico muito grato.

Um abraço,


Descolado


Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar