树型结构在ASP中的简单解决[2]

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 hanghwp 的 blog

a href='powerlist.asp?selfid=" & rs_sub("powerid") & "&belongid=" & rs_sub("belongid") &"'>" & rs_sub("powername") & "</a>"
                response.write "<br>"
                '递归调用子程序本身,对子层数据进行逐渐处理
                listsubpower(rs_sub("powerid"))
                rs_sub.movenext
        loop
        '层次数表态变量递退累减 
        format_i=format_i-1 
        '关闭子层数据集
        rs_sub.close
        set rs_sub=nothing 
end sub
%>
>>>>powerlist.asp程序中,我们先打开顶层数据,在循环中显示出来;然后又设计一个子程序listsubpower,通过递归算法在循环中调用,以此来打开子层数据信息,并且在子程序内部循环中又反复调用自己,以此来逐层展开深层数据。
>>>>另外,在程序中还用了一个静态变量format_i来控制缩进显示格式。
>>>>本文就树型结构在数据设计、程序控制方面做简单尝试,目的在于抛砖引玉,希望读者通过本文得到更多启示。


不错,不知道递归调用 listsubpower(rs_sub("powerid"))  是否行得通,试下先

原先我也是用这种方法的,不过这种方法就是要做很多次递归,
现在用两面个字段来完成,
+--------+-------------+--------------+-------------+
|  编号  |   名称      |     父类     |  所有父类   | 
+--------+-------------+--------------+-------------+
|   1    |  分类1      |     null     | 1           |
+--------+-------------+--------------+-------------+
|   2    |  分类2      |     1        | 1-2         |
+--------+-------------+--------------+-------------+
|   3    |  分类3      |     1        | 1-3         |
+--------+-------------+--------------+-------------+
|   4    |  分类4      |     2        | 1-2-4       |
+--------+-------------+--------------+-------------+
利用这种结构可以只读一次数据库便可以读取某一类及其所有子类。
如:select * from tabel where 所有父类 like "1%" order by 所有父类
便可得志出以下结果    
+ 分类1
|--+ 分类2
|  |--+ 分类4
|--+ 分类

本文关键:树型结构在ASP中的简单解决
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top