SQL或.NET 生成关系图

仁额 2014-07-01 08:45:47
现在有一个表HT_GX

ID LHT_GUID(老合同编号) XHT(新合同编号)
1 A B
2 B C
3 C D
4 B E
5 E G
5 F G
现在我要生成一个这样的图,该怎样用SQL或者.NET实现呀?




上面的效果是flash。这个flash读取的是下面的XML的内容。



所以,最主要是怎样生成这个XML的内容。数据结构觉得不好,所以,我现在用SQL能够实现,输入任意一个节点,找出,所有,相关的父节点或者子节点。但是,没能生成下面的XML特别是postionX和postionY parentnode,childNode的值,找不出来。

那位大神,数据结构好一点儿能够实现呀?用.NET或者SQL实现都可以。

谢谢。
...全文
183 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
仁额 2014-07-03
  • 打赏
  • 举报
回复
引用 8 楼 wangerpang 的回复:
如果是SQL SERVER的话,可以用VISO 反向工程生成对应的关系图
是ORACLE, 不是SQL SERVER
wangerpang 2014-07-02
  • 打赏
  • 举报
回复
如果是SQL SERVER的话,可以用VISO 反向工程生成对应的关系图
md5e 2014-07-02
  • 打赏
  • 举报
回复
首先你的表定义没有和xml的一致,所以就有点云里雾里 xml中不是很直白的告诉你了吗 name 当前节点,标识字段 caption 显示的文本 url 应该是外链 posx 这个要自己计算,或者flash可以自由拖动,然后保存 posy 这个要自己计算,或者flash可以自由拖动,然后保存 parentnode 父节点 可以是多个 childnode 子节点可以是多个
huaneramn 2014-07-02
  • 打赏
  • 举报
回复
这个得自己画吧。。。。。。。。。。。。。。
仁额 2014-07-02
  • 打赏
  • 举报
回复
引用 1 楼 thinkingforever 的回复:
表里本身就缺少postionX和postionY 从哪里去找啊,表能不能加postionX和postionY字段,然后数据存储如下: 节点 父节点 postionX postionY A null A postionX ApostionY B A B postionX BpostionY C B C postionX CpostionY D C D postionX DpostionY E B E postionX EpostionY 如果找节点B的父节点,直接就从 父节点字段找到了,找B的子节点,那就查询那些节点的付节点是B就可以了。可以写个简单的递归方法。
这里面的postionX和postionY 这不会存在数据库中,而是根据 节点间的父子关系 大概生成的,postionX表示,离X坐标多少,postionY表示离Y坐标多了,可以看出来,X最小是60,其他的都是在它上面+200,Y都是60的位数。
仁额 2014-07-02
  • 打赏
  • 举报
回复
这里面的postionX和postionY 这不会存在数据库中,而是根据 节点间的父子关系 大概生成的,postionX表示,离X坐标多少,postionY表示离Y坐标多了,可以看出来,X最小是60,其他的都是在它上面+200,Y都是60的位数。
md5e 2014-07-02
  • 打赏
  • 举报
回复
引用 6 楼 lyjtc 的回复:
[quote=引用 5 楼 liuchaolin 的回复:] 首先你的表定义没有和xml的一致,所以就有点云里雾里 xml中不是很直白的告诉你了吗 name 当前节点,标识字段 caption 显示的文本 url 应该是外链 posx 这个要自己计算,或者flash可以自由拖动,然后保存 posy 这个要自己计算,或者flash可以自由拖动,然后保存 parentnode 父节点 可以是多个 childnode 子节点可以是多个
你上面说的,我肯定知道呀。 我是问的,怎样遍历那个表来生成这个XML呀?[/quote] 没有办法遍历,你的表没有能体现出关系的东西,一般都是从parentnode=""开始一级级往下递归
仁额 2014-07-02
  • 打赏
  • 举报
回复
引用 5 楼 liuchaolin 的回复:
首先你的表定义没有和xml的一致,所以就有点云里雾里 xml中不是很直白的告诉你了吗 name 当前节点,标识字段 caption 显示的文本 url 应该是外链 posx 这个要自己计算,或者flash可以自由拖动,然后保存 posy 这个要自己计算,或者flash可以自由拖动,然后保存 parentnode 父节点 可以是多个 childnode 子节点可以是多个
你上面说的,我肯定知道呀。 我是问的,怎样遍历那个表来生成这个XML呀?
thinkingforever 2014-07-01
  • 打赏
  • 举报
回复
表里本身就缺少postionX和postionY 从哪里去找啊,表能不能加postionX和postionY字段,然后数据存储如下: 节点 父节点 postionX postionY A null A postionX ApostionY B A B postionX BpostionY C B C postionX CpostionY D C D postionX DpostionY E B E postionX EpostionY 如果找节点B的父节点,直接就从 父节点字段找到了,找B的子节点,那就查询那些节点的付节点是B就可以了。可以写个简单的递归方法。

62,074

社区成员

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

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

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

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