系统中机构管理的树如何递归建立?
数据库结构:
PlaceInfo:
PlaceID, nvarchar
PlaceName, nvarchar
ParentPlaceID nvarchar
示例:
1000------一层
|---100001--二层
| |-----10000101--三层
| |-----10000102--三层
|
|---100002--二层
每增加一层机构,机构编号增加两位,每层机构的编号由01-99。
在用户登录的时候判断用户所在的机构(用户表里面有用户所属机构的字段)和用户类型。如果用户是管理员,就查询出他所属的机构编号和所有他的下属机构的编号。然后用这些机构名称动态的构建树的节点,当用户点击该节点时,右面框架的页面跳转到机构管理页面并把用户所点击的节点的机构编号传递过去。
问题出来了:
如果三层机构的话,递归建树效率应该还凑合。可是机构层数要是稍微再多一些。估计效率就太慢了。有没有更好的方法?
把用户登录的时候获得的一系列机构编号保存在何处?写一个类?还是保存在其他的数据结构中?如何递归构造?