![]() |
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