Ler Reg. de uma Query de novo

Delphi

17/10/2003

Estou tentando mover os dados de um campo de uma consulta Sql para um componente, o primeiro registro eu consigo,
mas o no segundo da este erro:
Project Teste.exe raised exception class EListError with message ´list index out of bounds(1)´. Process Stopped.
O meu código é este:
Q1.Close;
Q1.Open;
Q1.First;
i := 0;
While true do
begin
CheckListbox1.Items.Add(Q1.Fields[0].AsString);
try
Q1.Next;
i := i + 1;
except
break;
end;
Onde o comando SQL é : Select cod from Teste.
Grato


Ecarvalhox

Ecarvalhox

Curtidas 0

Respostas

Fabio.hc

Fabio.hc

17/10/2003

Tente assim:

troque este comando.
While true do 

por este:
While not Q1.eof do



GOSTEI 0
Ecarvalhox

Ecarvalhox

17/10/2003

Amigo

Tentei como vc. disse colocar o not Query.eof, mas continua dando o mesmo erro.


GOSTEI 0
Fabio.hc

Fabio.hc

17/10/2003

Fiz este teste aqui e funcionou.

Q1.Close;
Q1.Open;
Q1.First;
While not Q1.eof do
   begin
   CheckListbox1.Items.Add(Q1.Fields[0].AsString);
   Q1.Next;
   end;



GOSTEI 0
Ecarvalhox

Ecarvalhox

17/10/2003

Fábio quero te agradecer pela ajuda.
Mas aí vai mais uma pergunta
Se invés de colocar 0 (Q1.Fields[0].AsString) eu colocar uma variável que será incrementada em 1 não funciona. Por ex:
Q1.Fields[i].AsString


GOSTEI 0
Fabio.hc

Fabio.hc

17/10/2003

Q1.Fields[0].AsString;
Q1.Fields[1].AsString;
Q1.Fields[2].AsString;
...


Onde [0] - representa o 1° campo da query.
O [1] - representa o 2° campo da query.
O [2] - representa o 3° campo da query.


GOSTEI 0
POSTAR