递归方法:对于树形结构的表,根据当前数据获取无限极的父级名称

递归返回格式如:一级>二级>三级

private string GetPerUserGroup( string groupid, string usergroupname)
        {
            string str = usergroupname;
            if (Convert.ToInt32(groupid) > 0)
            {

                Community.Model.USER_GROUP gt = BUSER_GROUPExtBLL.SelectByID(int.Parse(groupid));
                if (gt != null)
                {
                    str = gt.USER_GROUP_NAME + ">" + str;

                    str= GetPerUserGroup(gt.PER_USER_GROUP.ToString(), str);

                }
            }
            return str;

        }

根据当前记录获取无限极父节点的递归方法

时间: 2024-07-30 11:45:40

递归方法:对于树形结构的表,根据当前数据获取无限极的父级名称的相关文章

JeeSite 4.x 树形结构的表设计和用法

有些同仁对于 JeeSite 4 中的树表设计不太了解,本应简单的方法就可实现,却写了很多复杂的语句和代码,所以有了这篇文章. 在 JeeSite 4 中的树表设计我还是相对满意的,这种设计比较容易理解,不会太依赖数据库的语法,对兼容多数据库比较好.相比网上大牛的左右值树设计简单了很多,并且可随时调换父节点,并级联更新所有子节点数据. 看下表字段说明我们发现除了父级节点外又多了很多辅助字段,这写字段的维护可能会稍微影响我们的插入和更新性能, 但是这将极大的简化了我们的查询,并不限深度.废话不多说

使用postgre数据库实现树形结构表的子-父级迭代查询,通过级联菜单简单举例

前言:开发常用的关系型数据库MySQL,mssql,postgre,Oracle,简单的增删改查的SQL语句都与标准SQL兼容,这个不用讲,那么对于迭代查询(不严格的叫法:递归查询)每种数据库都不一样,对于标准SQL语句支持最好的是mssql和postgre,这个不需多讲,我们只讲讲单表情况下的postgre如何通过迭代查询获取有层级关系的数据. 一.表结构举例 MENU表 ID VARCHAR2(32)     N   sys_guid()    节点idFENXID VARCHAR2(32)

采用左右值编码实现无限分级树形结构(转)

无限分级树形结构是在系统开发中很常见的,如下图 在之前实现这样的菜单一直是使用传统的方法,看数据表结构就一目了然 parent_id记录其直接父节点,组合树形结构的关键字段:parent_list记录其所有父节点,便于查询某个节点下所有子节点(一般使用MySQL的FIND_IN_SET函数),相对冗余.对于这种结构生成树形的关键算法:根据parent_id组合一个父子(直接关系)节点映射表,即 2 => array(3, 4), 3 => array(5),然后递归优先遍历每个节点的子节点.如

在现在这个社会,你认为软件开发过程中团队模式使用树形结构好还是扁平化结构好?

树形结构:像树一样,有树干(父节点),树叶(子节点)等,将组织机构进行分层,上层管理下层,下层管理下下层.这样的模式优点在于将组织层层细化,条理清晰:缺点在于管理机构太多,另外下级可能不敢违背上级的命令,从而缺乏建设性的意见,是团队项目开发的主要内容掌握在少数人的手中.     扁平化结构:减少管理层级,每个管理层次的管理幅度较大,从而形成管理层次较少的层次结构.这种结构的优点在于信息从下层流通到上层的距离变短,高层了解基层的机会变多,减少了管理者的费用,下级可以有较多的发挥优势的机会,以及提高

无限树形结构的数据库表设计

前言: 无限树形结构的数据库表设计的是否合理,直接影响到UI层是否方便根据树来查询关联的数据. 1.表字段: F_BtEd2kTypeId int Unchecked F_Name nvarchar(50) Checked F_ParentTypeId nvarchar(50) Checked F_Code nvarchar(50) Checked F_RecordStatus int Checked 2.表数据: 3.说明: 如2所示, 1)如果上表的数据关联上了一张表A,通过BtEd2kTy

SQL批量更新具有树形结构表Path字段

如上图所示,需要更新该表中Path字段,如ID=14的Path值:-1,ID=17的Path值:-1.14,ID=20的Path值:-1.14.18.19 步骤1.创建函数 Create FUNCTION [dbo].[F_Org] ( @id int ) RETURNS TABLE AS RETURN ( with testTable as( select UpperID from Core_DeptInfo where ID=@id union all select Core_DeptInf

Atitit.各种 数据类型 ( 树形结构,表形数据 ) 的结构与存储数据库 attilax 总结

Atitit.各种  数据类型 ( 树形结构,表形数据  ) 的结构与存储数据库 attilax  总结 1. 数据结构( 树形结构,表形数据,对象结构 ) 1 2. 编程语言中对应的数据结构 java c# php ( Dic/Map      List    datatable ) 1 3. 数据库存储数据  1 4. 数据的表形显示( 多条记录 与单条记录 ) 2 5. ASP.NET 数据控件:GridView,DataList,Repeater ,DetailsView,FormVie

树形结构的数据库表Schema设计-基于左右值编码

树形结构的数据库表Schema设计 程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门.栏目结构.商品分类等等,通常而言,这些树状结构需要借助于数据库完 成持久化.然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,因此是不能直接将Tree存入DBMS,设计合适的Schema及其对 应的CRUD算法是实现关系型数据库中存储树形结构的关键. 理想中树形结构应该具备如下特征:数据存储冗余度小.直观性强:检索遍历过程简单高效:节点增删改查CRUD操作高效.无意

数据库树形结构、多级联动的表设计

问题:二级联动.多级联动等树形结构的数据,如何设计表格. 场景:省市县三级联动.商品的分类等. 参考:https://www.zhihu.com/question/20417447 最常用的一种方法是:将多级数据都放在同一张表中,每条记录用一个parent_id字段存放它对应的父节点的Id,如下图. 工具:MySQL 如果当前节点已经是根节点(没有父节点),则parent_id为0即可. 原文地址:https://www.cnblogs.com/guxin/p/8376411.html