ITPub博客

首页 > 应用开发 > IT综合 > 不用递归实现树形结构的一种方法

不用递归实现树形结构的一种方法

原创 IT综合 作者:hljhrbsjf 时间:2006-04-05 20:13:55 0 删除 编辑
主要的技巧在Level(帖子回复深度)的操作上

SunADM 于 2000.07.26
____________________________________________
演示表的结构
____________________________________________

表名:BBS

字段
数据类型
说明
ID 自动编号  
RootID Int 根帖ID,本身为根帖则RootID = ID
FID Int 父帖ID,上一层帖子的ID,如是根帖则FID = NULL
Level SmallInt 根帖Level=0,其他依据回复的深度递增
Subject Char 主题

____________________________________________
SQL 语句(须据此创建记录集 rs):
____________________________________________

SELECT *
FROM BBS
ORDER BY BBS.RootID DESC, BBS.Level, BBS.FID, BBS.[ID] DESC
____________________________________________
显示树形结构的有关语句:
____________________________________________

Level = 0

Response.Write "
    "

    While NOT rs.EOF

    If rs("Level") < level Then
    For i = 1 To Level-1
    Response.Write "
"
Next
End If

If rs("Level") > level Then
Response.Write "
    "
    End If
    Response.Write "
  • " & rs("Subject") & "
  • "

    level = rs("Level")
    rs.MoveNext

    Wend

    Response.Write "
"
__________________________________________________________
后记:原来我一直用递归做这事,因为觉得主要的速度瓶颈该是在
分页上面,所以一直……呵呵!直到今天廖家远当头棒喝……
希望对大家有所帮助(扔几块玉过来吧!准备好了几个麻袋等着那!:P)
Last Modified 2K-07-26 13:14[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/631872/viewspace-825306/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    115
  • 访问量
    527046