vb的递归!
在数据库里有
体育
球类
足球
篮球
排球
游泳
蛙泳
蝶泳
项目 上级项目
体育
球类 体育
足球 球类
篮球 球类
排球 球类
游泳 体育
蛙泳 游泳
蝶泳 游泳
就是体育是父项!球类是足球的父项,是体育的子项,用递归列出体育下的所有项!包括体育
问题点数:50、回复次数:7Top
1 楼XmagicX(一瞬已成永恒 http://codeday.com)回复于 2004-09-03 20:43:24 得分 0
不明白什么?Top
2 楼northwolves(狼行天下)回复于 2004-09-03 21:09:14 得分 0
你不是已经列出来了嘛:
体育
球类
足球
篮球
排球
游泳
蛙泳
蝶泳
Top
3 楼zhangguozhixp(飞翔的菜鸟)回复于 2004-09-03 21:15:42 得分 0
就是给你“体育” 让你用递归找出他的所有下级项目!
Top
4 楼northwolves(狼行天下)回复于 2004-09-03 21:23:44 得分 0
如何保存在数据库中的?表?字段? 记录?Top
5 楼renjunjun(飞黄)回复于 2004-09-03 21:36:30 得分 30
Public Sub SetNod(id As String)
Dim Rd As New ADODB.Recordset
Rd.Open "select 序号,项目 from 数据表 where and 上级项目=" & id & " order by 序号", Con
Do Until Rd.EOF
If id = "" Then
TreeView1.Nodes.Add "A", tvwChild, "A" & Rd(0), Rd(1)
Else
TreeView1.Nodes.Add "A" & id, tvwChild, "A" & Rd(0), Rd(1)
End If
SetNod Rd("序号")
Rd.MoveNext
Loop
Rd.Close
Set Rd = Nothing
调用时这样:Call SetNod("")
你这不合规则嘛,建议不要把体育的上级项目设为空字段,最好有个什么字符表示!
我可是下大功夫了,希望可以拿到分儿!Top
6 楼renjunjun(飞黄)回复于 2004-09-03 21:39:25 得分 10
刚才一试又差一步,改一下:
End If
SetNod Rd("上级项目")
Rd.MoveNext
还有SQL查询语句里多了个And,自已删一下吧Top
7 楼hhjjhjhj(大头)(http://office.9zp.com)回复于 2004-09-03 21:42:19 得分 10
这里有个例子,与你的要求十分相似
http://community.csdn.net/Expert/topic/3183/3183074.xml?temp=.7244379Top




