Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Curiosidad While anidado con ADO (https://www.clubdelphi.com/foros/showthread.php?t=50878)

lpedrazzi 30-11-2007 15:04:54

Curiosidad While anidado con ADO
 
Estimados amigos del foro les dejo esta inquietud....mi intencion es llenar un treeview con los datos que traigo desde una bd. el hecho es que el segundo while siempre me trae registros y no debe ser asi...es decir el while not ADOQuery2.EOF do begin no esta funcionando y no se porque...les expongo el código para su analisis....

var
NodoPadre,NodoHijo:TTreeNode;
IndicePadre:Integer;
pp:string;
begin
IndicePadre:=0;
try
try
with DM1 do begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * From Menu Where CodigodeItemPadre = 0');
ADOQuery1.Open;
ADOQuery1.Refresh;
while not ADOQuery1.Eof do begin
Tree.Items.Add(nil,ADOQuery1.FieldbyName('DescripcionItem').AsString);
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('Select * From Menu Where CodigoDeItemPadre = ' + ADOQuery1.FieldbyName('CodigoDeItem').AsString);
ADOQuery2.Open;
ADOQuery2.Refresh;
while not ADOQuery2.EOF do begin
Tree.Items.AddChild(Tree.Items[IndicePadre],ADOQuery2.FieldbyName('DescripcionItem').AsString);
ADOQuery2.Next;
end;
ADOQuery2.Close;
Inc(IndicePadre);
ADOQuery1.Next;
end;
ADOQuery1.Close;
end;
except
end;
finally
end;
end;


La franja horaria es GMT +2. Ahora son las 20:17:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi