欢迎来到天天文库
浏览记录
ID:9737470
大小:58.00 KB
页数:5页
时间:2018-05-07
《树型结构在asp中的简单解决--》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、树型结构在ASP中的简单解决>>树型结构在我们应用程序中还是很常见的,比如文件目录,BBS,权限设置,部门设置等。这些数据信息都采用层次型结构,而在我们现在的关系型数据库中很难清淅表达。那么要在程序中遇到树型结构问题该如何处理呢? 最近笔者通过一个ASP权限管理的程序轻松解决了一这问题,现在将其整理出来以飨读者。 首先,要将层次型数据模型转化为关系型数据模型。也就是说如何在我们的ACCESS,SQLSERVER,ORACLE等关系型数据库中设计这个数据结构。 拿个实例来讲吧,譬如下面一个数据:文档管理1
2、----新建文档2
3、----文档修改3
4、----文档归档4
5、
6、----查看
7、归档信息5
8、
9、----删除归档信息6
10、
11、
12、----删除历史文档7
13、
14、
15、----删除正式文档8
16、----系统管理9
17、----用户管理10人事管理11行政管理12财务管理13 这是一个很典型的层次型结构数据,那么大家想一想,如何将其通过二维表的形式来表达呢?初看上去很难,是吧。可是仔细推敲一番还是有门路可钻的。 可以这样,将上面所有的权限视为一个权限字段,那么这个权限字段肯定是要有一个ID值的。我们再给这个关系型数据表再强行加一个字段——隶属ID字段,也就是表明这个权限是属于哪一级权限之下的,即这个ID值隶属于哪一个ID值。比如:“查看归档信息”权限ID值为“5”,它是隶属于“文档归
18、档”权限之下的,那么它的隶属ID字段的值就应该是“4”。OK,如果这一点能理解的话,那么我们的关系转化工作也就算基本完成了。 下面我们就开始设计这张关系型数据表(以SqlServer7.0为例):+-----------+-----------+-----------+-----------+----------+
19、 字段名
20、字段含义
21、 字段类型
22、字段大小
23、字段属性
24、+-----------+-----------+-----------+-----------+----------+
25、SelfID
26、权限ID
27、Int
28、4
29、PK
30、
31、Poe
32、权限名
33、
34、Varchar
35、50
36、NotNull
37、
38、Popoat_i=1’列表主程序段dop;rs("poe")""response.ovenextloop’关闭父层数据集rs.closesetrs=nothing’子层数据处理子程序SubListSubPower(id)’打开隶属于上层powerid12下一页>>>>这篇文章来自..,。的所有子层数据信息setrs_sub=Server.CreateObject("ADODB.Recordset")rs_sub.Open"select*frompop;id"orderbypoat_i=format_i+1’循环缩进格式控制,因为顶
39、层与二层不需要缩进,所以从第三层开始引用此程序段fori=format_ito3step-1response.p;rs_sub("poe")""response.ovenextloop’层次数表态变量递退累减format_i=format_i-1’关闭子层数据集rs_sub.closesetrs_sub=nothingEndSub%> poat_i来控制缩进显示格式。 本文就树型结构在数据设计、程序控制方面做简单尝试,目的在于抛砖引玉,希望读者通过本文得到更多启示。上一页12>>>>这篇文章来自..,。
此文档下载收益归作者所有