问题描述
因为是要输入到数据库的所以不能重复貌似递归能做可是不熟求解答主要是实现图中的结构!求思路不求代码!
解决方案
解决方案二:
没明白你到底要干什么
解决方案三:
引用1楼a463658998的回复:
没明白你到底要干什么
就是想用这结构动态的显示数据,在ASP.net上
解决方案四:
数据库加个节点类型、父节点、左/右子树字段,先把根节点找出来,再递归查找子节点,不知道这样可以不
解决方案五:
需要你的数据表至少有两个字段:ID,ParentID。你也可以把ID设置为主键,ParentID设置为关联到自身表的外键。如果想看看直观的“关系图”,在你的SQLServer客户端工具或者vs的服务器查询分析器工具上,创建“数据表关系图”,它会给你画出关系图来。
解决方案六:
还是不懂你举个例子吧你到底想怎么干
解决方案七:
你这个问题有点让人迷惑,你究竟是要什么。按照你的描述,我理解为你是要为某些数据按照层级编码,而这个编码是存在一个字段里面,跟编码在一起的肯定还有其他的数据字段需要同时存入。如果你是要写一个生成这个编码。我可以提供一个思路,共数据量大的时候参考。首先建一个字典表,这个字典表主要用来记录各个层级生成的序号。主要字段有两个编码和序号编码存的是父级编码,序号是对应编码最新的子编码末尾序号。在为编码生成新子编码的时候查出最新的子编码序号加1,然后把两个字符串拼起来就可以了。注意要更新最新序号,以便下一次生成的是最新编码,不会重复。字典表基本如下CodeSerialNo1110210121021101010102010101020
再来说递归。递归做遍历可以,但是要生成这样的一个多叉数的话,很麻烦。如果数据量大的话,性能会让你抓狂。
解决方案八:
引用4楼sp1234的回复:
需要你的数据表至少有两个字段:ID,ParentID。你也可以把ID设置为主键,ParentID设置为关联到自身表的外键。如果想看看直观的“关系图”,在你的SQLServer客户端工具或者vs的服务器查询分析器工具上,创建“数据表关系图”,它会给你画出关系图来。
正解,对于这种结构的父子关系,就用这种就可以了。如:IDParentID.....20.....32......43......52......65这样的关系就是23546这样就能把这种数据结构存放在数据库中,查询的时候在存储过程使用递归查询就可以了
解决方案九:
引用5楼a463658998的回复:
还是不懂你举个例子吧你到底想怎么干
图1图2就是把图1的功能实现到asp.net去,图2为数据库,结构不能变
解决方案十:
引用6楼yyxu123的回复:
你这个问题有点让人迷惑,你究竟是要什么。按照你的描述,我理解为你是要为某些数据按照层级编码,而这个编码是存在一个字段里面,跟编码在一起的肯定还有其他的数据字段需要同时存入。如果你是要写一个生成这个编码。我可以提供一个思路,共数据量大的时候参考。首先建一个字典表,这个字典表主要用来记录各个层级生成的序号。主要字段有两个编码和序号编码存的是父级编码,序号是对应编码最新的子编码末尾序号。在为编码生成新子编码的时候查出最新的子编码序号加1,然后把两个字符串拼起来就可以了。注意要更新最新序号,以便下一次生成的是最新编码,不会重复。字典表基本如下CodeSerialNo1110210121021101010102010101020再来说递归。递归做遍历可以,但是要生成这样的一个多叉数的话,很麻烦。如果数据量大的话,性能会让你抓狂。
具体需求放在8楼了多谢帮忙!!!!
解决方案十一:
二叉树?还是中间还有数据?
解决方案十二:
树下层节点的值=上层节点+上层的上层节点...+根节点你可以缩写每一层的节点值用两位数字字符表示,这样可以很方便地求得深度值=节点值字符串.Length/2-1
解决方案十三:
你可以缩写每一层的节点值用两位数字字符表示=>你可以约定每一层的节点值用两位数字字符表示
解决方案十四:
引用8楼w9520520的回复:
Quote: 引用5楼a463658998的回复:
还是不懂你举个例子吧你到底想怎么干图1图2就是把图1的功能实现到asp.net去,图2为数据库,结构不能变
你现在不是实现了吗?还要什么?但你这一级最多只能保存99子集把
解决方案十五:
做个递归方法voidDigui(stringparentId){//把parentid这条存入数据//根据id名称规则得到children//如果children为空就结束//否则循环调用Digui()传入参数为当前循环项的id}在主函数中调用Digui方法传入参数为顶级节点也就是“1”
解决方案:
引用13楼ta_wuhen的回复:
Quote: 引用8楼w9520520的回复:
Quote: 引用5楼a463658998的回复:
还是不懂你举个例子吧你到底想怎么干图1图2就是把图1的功能实现到asp.net去,图2为数据库,结构不能变
你现在不是实现了吗?还要什么?但你这一级最多只能保存99子集把
不,这是CS版的,,我要把它搬到到bs上,cs版不是我写的。。。。