GUID为主键编号的树形表结构该如何插入数据?

hebaobao19880921 2011-08-01 09:26:49
如果是INT类型为主键的表,我们的树形结构很容易就出来
id name pid
1 xx 0
2 xx 0
3 xx 1
4 xx 2
....

但是我现在的主键是GUID同样的表结构 树形如何显示出来?
...全文
265 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
highpr 2011-08-01
  • 打赏
  • 举报
回复
可以用递归

或者循环加左连接
红魔大卫 2011-08-01
  • 打赏
  • 举报
回复
你在定义一列 子节点指定他的父节点GUID

ID NAME PARENTID
SD DF NULL
DF SD SD
RF FD SD
GE GE DF
NH DF NULL

显示效果如下
效果ID ID Name
1 SD DF
1-1 DF SD
1-2 RF FD
11-1 GE GE
2 NH DF
逗号爱麦蒂 2011-08-01
  • 打赏
  • 举报
回复
如果要排序的话,这位兄弟的说法在理

[Quote=引用 3 楼 cxs861226 的回复:]

跟int型主键一样用 不过楼主需要再加一个排序的字段
[/Quote]
hebaobao19880921 2011-08-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wxr0323 的回复:]
没懂啥意思

不都是一样吗?

只要parentsID 和ID匹配上
[/Quote]
GUID 不像ID 可以自增长 GUID是唯一的 每次都要new一个.
我刚才是搞不懂 该如和去将ID和PID 插入数据形成树结构 因为每次new一个都是新的ID
这样就是
id name paid
guid1 xx guid2
guid3 xx guid4
..
子夜__ 2011-08-01
  • 打赏
  • 举报
回复
没懂啥意思

不都是一样吗?

只要parentsID 和ID匹配上
cxs99999 2011-08-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hebaobao19880921 的回复:]
引用 6 楼 cxs861226 的回复:
id name pid sort
guid1 xx 0 1
guid2 xx 0 2
guid3 xx guid1 1
guid4 xx guid2 1

pid也是guid类型 第一行和第2行 插入0??
[/Quote]
那个发懒 没给改 呵呵 你随便找个不可能出现的GUID格式的guid值写进去 当最高级的父节点就行了
hebaobao19880921 2011-08-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cxs861226 的回复:]
id name pid sort
guid1 xx 0 1
guid2 xx 0 2
guid3 xx guid1 1
guid4 xx guid2 1
[/Quote]
pid也是guid类型 第一行和第2行 插入0??
cxs99999 2011-08-01
  • 打赏
  • 举报
回复
id name pid sort
guid1 xx 0 1
guid2 xx 0 2
guid3 xx guid1 1
guid4 xx guid2 1
hebaobao19880921 2011-08-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cxs861226 的回复:]
跟int型主键一样用 不过楼主需要再加一个排序的字段
[/Quote]举个栗子
truecoffeefox 2011-08-01
  • 打赏
  • 举报
回复
试了试,我记错了
cxs99999 2011-08-01
  • 打赏
  • 举报
回复
跟int型主键一样用 不过楼主需要再加一个排序的字段
hebaobao19880921 2011-08-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 truecoffeefox 的回复:]
guid同样可以order by,记得结果顺序和插入先后顺序是一致的
[/Quote]

不太明白??
truecoffeefox 2011-08-01
  • 打赏
  • 举报
回复
guid同样可以order by,记得结果顺序和插入先后顺序是一致的
hebaobao19880921 2011-08-01
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 cxs861226 的回复:]
引用 19 楼 hebaobao19880921 的回复:
引用 18 楼 cxs861226 的回复:
FolderId FolderName ParentId Sort
158E3A41-600E-427E-814C-D8BC37F506B9 a 00000000-0000-0000-0000-000000000000 1

你这个我明白了 pid随便找一个guid的值 那么我插入第……
[/Quote]
实在很感谢你的帮忙
cxs99999 2011-08-01
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 hebaobao19880921 的回复:]
引用 18 楼 cxs861226 的回复:
FolderId FolderName ParentId Sort
158E3A41-600E-427E-814C-D8BC37F506B9 a 00000000-0000-0000-0000-000000000000 1

你这个我明白了 pid随便找一个guid的值 那么我插入第2个的时候 值指向的是FID还是新生成的?
[/Quote]
第2个 是什么 和158E3A41-600E-427E-814C-D8BC37F506B9 一级的吗 一级的FID就是00000000-0000-0000-0000-000000000000 是158E3A41-600E-427E-814C-D8BC37F506B9下级的FID就是158E3A41-600E-427E-814C-D8BC37F506B9
hebaobao19880921 2011-08-01
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 cxs861226 的回复:]
FolderId FolderName ParentId Sort
158E3A41-600E-427E-814C-D8BC37F506B9 a 00000000-0000-0000-0000-000000000000 1
[/Quote]
你这个我明白了 pid随便找一个guid的值 那么我插入第2个的时候 值指向的是FID还是新生成的?
cxs99999 2011-08-01
  • 打赏
  • 举报
回复
FolderId FolderName ParentId Sort
158E3A41-600E-427E-814C-D8BC37F506B9 a 00000000-0000-0000-0000-000000000000 1
hebaobao19880921 2011-08-01
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 cxs861226 的回复:]
引用 15 楼 hebaobao19880921 的回复:

去试试有问题再来问 自己试的过程中就明白了
[/Quote]
create table t_Folder
(
FolderId uniqueidentifier primary key default(newid()) not null,--唯一标识ID 文件ID
FolderName nvarchar(50) not null,--文件名称
ParentId uniqueidentifier null,--上级文件ID
CreateOn datetime not null,--创建时间
CreateBy UniqueIdentifier default(newid()) not null,--创建人
ModefyOn datetime null,--修改时间
ModefyBy uniqueidentifier default(newid()) not null --修改人

)
GO
这是我的表 你试试 我现在的服务器上已经存在了一个根目录 就是最高节点的文件夹
cxs99999 2011-08-01
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 hebaobao19880921 的回复:]
[/Quote]
去试试有问题再来问 自己试的过程中就明白了
hebaobao19880921 2011-08-01
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 zminwj 的回复:]
引用 10 楼 hebaobao19880921 的回复:
引用 9 楼 wxr0323 的回复:
没懂啥意思

不都是一样吗?

只要parentsID 和ID匹配上

GUID 不像ID 可以自增长 GUID是唯一的 每次都要new一个.
我刚才是搞不懂 该如和去将ID和PID 插入数据形成树结构 因为每次new一个都是新的ID
这样就是
id name paid
gu……
[/Quote]

可以说的更详细一些吗?GUID以前没用过
加载更多回复(1)
下载代码方式:https://pan.quark.cn/s/dd3561eca308 在软件开发领域,面向对象编程(OOP)是一种普遍采纳的结构化方法,它使得开发者能够借助模拟现实环境中的实体和关系来构建软件系统。在本案例中,我们观察到的是一个关于借助抽象类来执行不同几何图形面积求解的实践应用。现在,让我们详细分析这一议题。 标题 "应用抽象类计算面积" 清晰地明我们将要讨论一个抽象类,此类设定了一个用于测量图形面积的标准函数,但并未提供实际的执行过程。抽象类在诸如C#或Java等编程语言中通常借助`abstract`修饰符进行声明,它们无法直接创建对象实例,仅能作为其他类的基础模板。 描述部分提及的"图形界面应用"暗示这是一个基于视觉用户界面(GUI)的系统,可能运用了.NET Framework的Windows Forms或WPF技术,或者是Java平台的Swing或JavaFX框架。在这样环境下,用户能够通过视觉元素与这些几何体进行互动,例如输入相关尺寸并观看到计算得出的面积值。 抽象类“几何体”内嵌了“计算面积”这一抽象函数。在代码层面,这可以被述为: ```csharp public abstract class GeometricShape { public abstract double CalculateArea(); } ``` 随后,有三个派生类:圆(Circle)、矩形(Rectangle)和三角形(Triangle),它们各自提供了这个抽象函数的具体实现。比如,圆的面积是通过π乘以半径的平方得到的,矩形的面积是长和宽的乘积,而三角形的面积可能是底乘以高再除以2的结果。这些类将提供具体实现来计算它们各自的面积: ```csharp p...
内容概要:本文系统研究了移相控制全桥LLC谐振变换器的工作特性,深入分析其在不同工作模式下的运行机理与性能现,重点探讨了软开关实现、高效率能量转换及宽范围电压调节等关键技术优势。通过Simulink搭建精确的仿真模型,对谐振腔参数、开关频率、电压增益、系统效率等关键指标进行仿真分析,验证了理论设计的正确性。同时,详细研究了移相控制策略对系统动态响应、稳定性和轻载/重载工况适应性的影响,揭示了控制参数与电路参数之间的耦合关系,为高频高效电源设计提供了理论依据和实践指导。; 适合人群:具备电力电子技术、模拟电路及自动控制理论基础,从事开关电源、新能源变换器、电动汽车充电模块或高频电源系统研发的工程师及高校研究生。; 使用场景及目标:①掌握全桥LLC谐振变换器的拓扑结构、工作原理与关键参数设计方法;②理解移相控制在实现零电压开通(ZVS)和零电流关断(ZCS)中的作用机制;③通过Simulink仿真掌握变换器建模、参数优化与性能评估流程,服务于实际产品开发与学术课题研究。; 阅读建议:建议读者结合提供的Simulink仿真模型进行同步操作,重点关注谐振网络(Lr, Lm, Cr)参数与移相角之间的匹配设计,深入理解软开关条件的形成过程,并通过调整负载和输入电压进行多工况仿真,以全面掌握系统动态特性。

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧