一个表就可以了吧,每条纪录有id和parentID字段标示父子关系即可,这样就可以无限级别分类

解决方案 »

  1.   

    fansenwei(绿茵萤火虫):一个表就可以了吧,每条纪录有id和parentID字段标示父子关系即可,这样就可以无限级别分类
    数据表是这样建的,但是如何在页面上一级一级有序地显示出来呢?
      

  2.   

    可以递归,亦可循环
    ----
    例如
    --返回按层次分级的部门列表
    CREATE PROCEDURE dbo.Get_Depart_Tree
    AS
       declare @level int
       declare @t table(id_dept int,parid int,deptname varchar(20),level int)
       set @level = 1
       insert into @t select id_dept,parid,deptname,@level from sys_deptment where      parid = 0
       while(@@rowcount>0)
          begin
            set @level=@level+1
            insert into @t
              select a.id_dept,a.parid,a.deptname,@level from sys_deptment a
              join @t b on a.parid = b.id_dept where b.level=@level-1
          end
          select id_dept,parid,deptname,level from @t
          RETURN
      

  3.   

    在页面中显示时即可按此返回结果集再进行组织,例如在显示在TreeView中(也许你需要递归来实现这一效果)