用递归来做。
procedure TForm1.Show_TreeView(Code_Str: String; nNode: TTreeNode);
var
FriendNode :TTreeNode;
TreeQuery :TADOQuery;
MyRecordPointer :PGroupRecord;
begin
TreeQuery:=TADOQuery.Create(nil);
TreeQuery.Connection:=ADOConnection1;
TreeQuery.Close;
TreeQuery.SQL.Clear;
TreeQuery.SQL.Add('select code,name from table1 where code like '''+Code_Str+'''');
TreeQuery.Open;
WHILE NOT TreeQuery.Eof DO
BEGIN
New(MyRecordPointer);
MyRecordPointer.code:=TreeQuery.FieldByName('code').AsString;
MyRecordPointer.name:=TreeQuery.FieldByName('name').AsString;
FriendNode:=Treeview.Items.AddChildObject(nNode,MyRecordPointer.code,MyRecordPointer);
Show_TreeView(MyRecordPointer.code+'__',FriendNode);
TreeQuery.Next;
END;
end;
记得定义记录
type
PGroupRecord =^TGroupRecord;
TGroupRecord =record
code :String;
name :String;
end;