挺可惜的,也不可惜,只能怪自已抓不住。
只顾着争取机会了,却没有做好准备,曾在初中一年级的时候,数学老师出了一道题,同学们都争先恐后的举手去答,我也不例外,我得到了机会,可发现只顾去抢机会了,却没在意看题,结果很显然没有答出来,被老师狠狠的训了一通,多年后的今天,犯了同样的错误。怪不得别人,我这个人就是不长记性!!要懂得在失败中吸取教训,下次做事前先三思。
废话少说,先来看题:
大概题意:给一个树状结构设计一个表来存数据,只需存节点的名称,并用存储过程求出某一节点的所有子节点
解答:
表设计:
Guid(pk,uniqueidentifier,not null)唯一标识
Name(nvarchar(50),null)节点名称
Code(nvarchar(200),null)节点代码
Layer(int ,null)节点所在层数
其中Code的存取方式为
001 002 003
001,001 001,002 002,001 002,002 003,001 003,002
001,001,001 001,002,001 002,001,001 002,002,001 003,001,001 003,002,001
用存储过程找出指定结点的所有子节点
CREATE PROCEDURE [dbo].[test]
@code varchar(200)
as
select * from 表名 where Code like @code+',%';
这种应用,我在一年前就做过了,做过后就扔了,没常拿出来看看,真是可惜了。
下面把树的填充也贴出来。
填充树自然是用递归了。
建一个Model类(以下model类为实际工作代码,拿来展示)
再建一个Entity类
递归方法来填充Entity
递归填充树
ref关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用ref参数,则方法定义和调用方法都必须显式地使用ref关键字。
out关键字也是使参数按引用传递。这与ref关键字类似,不同之处在于ref要求变量必须在传递之前进行初始化。若要使用out参数,方法定义和调用方法都必须显式地使用out关键字。
下面这个网站电脑卖的好便宜,好奇怪
本文分享了一个关于如何设计表来存储树状结构数据的方法,包括表结构的设计、存储过程的实现,以及通过递归填充树状结构的过程。强调了在获取机会的同时要做好充分准备的重要性。
16万+

被折叠的 条评论
为什么被折叠?



