同意楼上的!!
Delphi工具TTreeView就可以做了
类似于这样
数据结构如下:
 CREATE TABLE [tbTree] (
 [ID] [varchar] (4) COLLATE  NOT NULL ,
 [Context] [nvarchar] (50)  NULL ,
 [ParentID] [varchar] (4)  NULL ,
 CONSTRAINT [PK_tbTree] PRIMARY KEY  CLUSTERED 
 (
  [ID]
 )  ON [PRIMARY] 
) ON [PRIMARY]
代码如下:lprocedure TForm1.ReadTree(tnode:TTreeNode;Fvalue: String); 
lVar 
l  i: integer; 
l  Flist:TStringList; 
l  Flist1:TStringList; 
l  str:string; 
lbegin 
l  qryTree.close; 
l  qryTree.sql.clear; 
l  qryTree.sql.add('select Parentid,id,context from tbtree'); 
l  qryTree.sql.add('where isnull(Parentid,'''')='); 
l  qryTree.sql.add(''''+Fvalue+''''); 
l  qryTree.Open; 
l  qryTree.First; 
l  Flist:=TStringList.Create; 
l  Flist1:=TStringList.Create; 
l  while not qryTree.eof do 
l    begin 
l      Flist.Add(trim(qryTree.fieldbyname('context').asstring)); 
l      Flist1.Add(qryTree.fieldbyname('id').asstring); 
l      qryTree.next; 
l    end; 
l    for i:= 0 to flist.Count-1 do 
l    begin 
l      s:=flist1.Strings[i]; 
l      str:=flist.Strings[i]; 
l      snode:=Treeview1.items.addchild(tnode,str); 
l      ReadTree(snode,s); 
l    end; 
l  flist.free; 
l  flist1.free; 
lend; 

解决方案 »

  1.   

    地区表:
    地区父级ID    地区子级ID商品表:
    商品父级ID    商品子级ID地区商品表:
    地区子级ID   商品子级ID
      

  2.   

    目前的表是定死的,也就是只有
    地区表和商品表不过商品表中有地区的ID号的。本来就是一主从树的关系。
    现要求在一棵树中来体现出来。
    就是用SQL怎么来形成一棵树?
      

  3.   

    我现在树中的记录数量是很大的。要是用DELPHI中所说的动态的去加载,那速度是会很慢的。我是说用SQL语句先把两棵树(主从关系)的树,合并成一棵树。请问,得怎么来写这样的SQL程序!