vb的递归!

zhangguozhixp 2004-09-03 08:30:37
在数据库里有
体育
球类
足球
篮球
排球
游泳
蛙泳
蝶泳
项目 上级项目

体育
球类 体育
足球 球类
篮球 球类
排球 球类
游泳 体育
蛙泳 游泳
蝶泳 游泳


就是体育是父项!球类是足球的父项,是体育的子项,用递归列出体育下的所有项!包括体育

...全文
158 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhjjhjhj 2004-09-03
  • 打赏
  • 举报
回复
这里有个例子,与你的要求十分相似
http://community.csdn.net/Expert/topic/3183/3183074.xml?temp=.7244379
renjunjun 2004-09-03
  • 打赏
  • 举报
回复
刚才一试又差一步,改一下:

End If
SetNod Rd("上级项目")
Rd.MoveNext

还有SQL查询语句里多了个And,自已删一下吧
renjunjun 2004-09-03
  • 打赏
  • 举报
回复
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("")

你这不合规则嘛,建议不要把体育的上级项目设为空字段,最好有个什么字符表示!

我可是下大功夫了,希望可以拿到分儿!
northwolves 2004-09-03
  • 打赏
  • 举报
回复
如何保存在数据库中的?表?字段? 记录?
zhangguozhixp 2004-09-03
  • 打赏
  • 举报
回复
就是给你“体育” 让你用递归找出他的所有下级项目!
northwolves 2004-09-03
  • 打赏
  • 举报
回复
你不是已经列出来了嘛:

体育
球类
足球
篮球
排球
游泳
蛙泳
蝶泳
XmagicX 2004-09-03
  • 打赏
  • 举报
回复
不明白什么?

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧