关于一个递归问题(200分)

  • 主题发起人 主题发起人 liangyabin
  • 开始时间 开始时间
L

liangyabin

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠,小弟想从数据库一个表中读出NAME字段,作为TreeView中的节点,
每个NAME可能是子节点也可能是父节点,
这些是无限级扩展节点,请问这个SQL语句应该这么写?
可能用到递归的思路!
谢谢各位?
 
这应当不是SQL语句的问题,而是数据结构中关于二叉树建立的问题。关于从库表中取数据,只不过是简单的SQL语句既可实现的了,只要你能够设计好数据结构就好了。
 
子节点与父节点关系如何?
 
建议:Select的时候做好排序,然后一条一条插,根据你的问题,可能名字之间有关系,这个可能是提高效率的办法了
 
可在TreeView中用递归
 
TFmatuo.ShowAllItem(ATreeView: TfcTreeView; AParentNode: TfcTreeNode);
 
刚才我的问题可能说的不明白:现把问题再说一遍:
我的程序要实现这个功能:
每选择一个客户编号,就在窗体的treeView里显示出该编号所对应的类别(工作行业类别(计算机或行政等)所在地区类别(南阳,洛阳或郑州等))是什么,就把什么选中
 数据库
有两个表
表1:包括:1:类别ID (一个由程序生成的不重复的随机数,
2: 父节点ID(除了根目录为0外,别的都是有其父节点的类别ID)
        3:类别名称(类别ID所对应的类别名称,即为程序中节点的名字)
表2:包括字段:
          1 自动编号(防止重复)
2 客户编号(每个客户可能有多个类别ID,他于类别ID是一对多的关系)
3 类别ID(CLASSID)
(备注:每个大地区可能包含小地区,小地区可能包含更小的)
现在的问题是:
  第一: 窗体在Onshow时,就让表1中所有的类别名称都读取到窗体的treeview中,即按类别不同分类,可能无限多的子父节点;
  第二: 当选中一个客户编号时:就在窗体的treeView里显示出该编号所对应的类别;
----------------------------------------------
-
 
后退
顶部