ACCESS 递归查树型结构所有子孙结点。。

ACCESS 递归查树型结构所有子孙结点。。,第1张

呵呵,不想套了,给你个设计思想,你套用一下就行了。。。

数据表bmclass

id int(自动编号)

parentid int(父ID)

name varchar(分类名称)

<%

'数据库连接

set conn=ServerCreateObject("ADODBConnection")

connopen "driver={SQL Server};server=;DATABASE=test;UID=sa;PWD="

'打开所有父层数据

set rs=ServerCreateObject("ADODBRecordset")

rsOpen "select from bmclass where parentid=0 order by rid",conn,1,3

'层次数表态变量赋初值

format_i=1

'列表主程序段

do while not rseof

'打印父层数据信息

responsewrite "<a href='listaspSelfID=" & rs("id") & "&parentid=" & rs("parentid") & "'>" & rs("name") & "</a>"

responsewrite "<br>"

'子程序调用,子层数据处理

Call ListSub(rs("id"))

rsmovenext

loop

'关闭父层数据集

rsclose

set rs=nothing

'子层数据处理子程序

Sub ListSub(id)

'打开隶属于上层id的所有子层数据信息

set rs_sub=ServerCreateObject("ADODBRecordset")

rs_subOpen "select from bmclass where parentid=" & id & " order by id",conn,1,3

'列子层数据

do while not rs_subeof

'层次数表态变量递进累加

format_i=format_i+1

'循环缩进格式控制,因为顶层与二层不需要缩进,所以从第三层开始引用此程序段

for i=format_i to 3 step -1

responsewrite " |"

responsewrite " "

next

'打印子层数据信息

responsewrite " |----"

responsewrite "<a href='listaspSelfID=" & rs_sub("parentid") & "&parentid=" & rs_sub("parentid") &"'>" & rs_sub("name") & "</a>"

responsewrite "<br>"

'递归调用子程序本身,对子层数据进行逐渐处理

ListSub(rs_sub("id"))

rs_submovenext

loop

'层次数表态变量递退累减

format_i=format_i-1

'关闭子层数据集

rs_subclose

set rs_sub=nothing

End Sub

%>

字节点实为子节点,与子孙节点的区别在于:子节点是某节点的后继节点,而子孙节点是某节点所有子树中的节点。

节点子孙节点都是树的基本术语,是由根节点为第一层,以此类推。

树属于非线性数据结构的一种,概念也极多,是由n个节点组成的有限集合。

以上就是关于ACCESS 递归查树型结构所有子孙结点。。全部的内容,包括:ACCESS 递归查树型结构所有子孙结点。。、字节点和子孙节点的区别、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9497775.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存