登录名:  密码:  验证码: 2175
设为首页 收藏本站 联系站长
2009年1月10日
农历戊子年(鼠)
腊月十五
 首页 | 最新上传 | 新闻 | 购物商场 | 招聘求职 | HTML学习 | java学习 | IT新闻 | 黑客技术 | 域名和空间 | 流量统计 | 故事小说
 GIF动画制作 | 图片素材 | 源码下载 | 书籍下载 | 视频资料 | ASP | 数据库 | PHP | 基本电脑知识 | 迅雷资源 | 兼职 | 组网工程
 英语学习 | FLASH专区 | ASP.NET | VB | 综合资源网 | 驱动下载 | 游戏下载 | 网站模板网页美工 | 韩文学习 | 论坛
 特别推荐:产品报价  漂亮网站网址  图片素材
  我要查找:  
欢迎您来这里。每天学一点,每天进步一点!
Google
 当前位置:首页 >> ASP  >> ASP
整理一个asp多级树型分类问题的解决方法
来源:  发表日期:2008年4月5日 作者: 

 编辑:admin 级别: 司令 浏览次数:598
】    

文档管理  1
|----新建文档  2
|----文档修改  3
|----文档归档  4
|  |----查看归档信息  5
|  |----删除归档信息  6
|  |  |----删除历史文档  7
|  |  |----删除正式文档  8
|----系统管理  9
|----用户管理  10
人事管理  11
行政管理  12
财务管理  13

  这是一个很典型的层次型结构数据,那么大家想一想,如何将其通过二维表的形式来表达呢?初

看上去很难,是吧。可是仔细推敲一番还是有门路可钻的。

  可以这样,将上面所有的权限视为一个权限字段,那么这个权限字段肯定是要有一个ID值的。我

们再给这个关系型数据表再强行加一个字段——隶属ID字段,也就是表明这个权限是属于哪一级权限

之下的,即这个ID值隶属于哪一个ID值。比如:“查看归档信息”权限ID值为“5”,它是隶属于“文

档归档”权限之下的,那么它的隶属ID字段的值就应该是“4”。OK,如果这一点能理解的话,那么我

们的关系转化工作也就算基本完成了。

  下面我们就开始设计这张关系型数据表(以Sql  Server  7.0  为例):

+-----------+-----------+-----------+-----------+----------+
  | 字段名  |  字段含义  | 字段类型 |  字段大小   |  字段属性 |
+-----------+-----------+-----------+-----------+----------+
|  SelfID  |  权限ID     |  Int    |  4        |  PK     |
|  PowerName  |  权限名  |  Varchar   |  50      |  Not  Null  |
|  PowerInfo  |  权限信息 |  Varchar   |  500       |       |
|  BelongID |  隶属ID  |  Int       |  4        |        |
+-----------+-----------+-----------+-----------+----------+

  好了,结构设计好你就可以轻松输入你的测试数据了。

  然后,我们就针对如何在网页中模仿层次结构显示这功能的ASP程序,这也是最关键的一步了。

程序清单:powerlist.asp

 

<% 
数据库连接 
set  conn=Server.CreateObject("ADODB.Connection") 
conn.open  "driver={SQL  Server};server=chaiwei;DATABASE=chaiwei;UID=sa;PWD=" 
打开所有父层数据 
set  rs=Server.CreateObject("ADODB.Recordset") 
rs.Open  "select  *  from  powers  where  belongid  is  null  order  by  powerid",conn,1,3 
层次数表态变量赋初值 
format_i=1 
列表主程序段 
do  while  not  rs.eof 
打印父层数据信息 
response.write  "<a  href=powerlist.asp?SelfID="  &  rs("powerid")  &  "&BelongID="  &  rs("belongid")  &  ">"  &  rs("powername")  &  "</a>" 
response.write  "<br>" 
子程序调用,子层数据处理 
Call  ListSubPower(rs("powerid")) 
rs.movenext 
loop 
关闭父层数据集 
rs.close 
set  rs=nothing 
子层数据处理子程序 
Sub  ListSubPower(id) 
打开隶属于上层  powerid  的所有子层数据信息 
set  rs_sub=Server.CreateObject("ADODB.Recordset") 
rs_sub.Open  "select  *  from  powers  where  belongid="  &  id  &  "  order  by  powerid",conn,1,3   
列子层数据 
do  while  not  rs_sub.eof 
层次数表态变量递进累加 
format_i=format_i+1 
循环缩进格式控制,因为顶层与二层不需要缩进,所以从第三层开始引用此程序段 

分页: [1] [2] [3] [4] [5] [6] [7] [8] [9]
(编辑:网站学习网)
Google
 ·上一篇文章: 屏幕保护程序下载
 ·下一篇文章: 局域网内打印机共享设置
 该篇文章的评论
 暂无相关评论
 姓名:  邮箱:
 内容:
                
 相关文章
 · Microsoft VBScript 运行
 · 整理一个asp多级树型分类
 · DW网页设计100例94:在线
 · 如何实现添加到收藏夹
 · ASP源码下载
 · ASP多媒体视频教程专区
 · MM_preloadImages()问题
 · 用ASP创建多栏选项列表S
 · 如何把ASP编写成DLL
 · Windows XP 中IIS5安装文
 · OpenSchema 方法详
 最新上传文章
 · 使用 cookie 
 · Asp Object 之
 · 建立企业信息化 &n
 · 80后IT四少:媒体塑造了我
 · 我国企业电子商务交易总
 · asp连接带有密码的acces
 · 互联网应用广泛 电
 · Adobe Illustrator
 · delphi程序打包安装制作
 · 企业邮件管理有新招&nbs
 · toolbar图标:ToolBar上的

服务说明 | 关于网站 | 联系我们 | 友情链接
网站学习网欢迎您!
http://www.studywebgood.com
浙ICP备07030755号 
联系邮箱:shuizhilang@126.com 如本网站侵犯了您的版权,请马上通知我.