| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1222 人关注过本帖
标题:这个遍历问题我不会!
只看楼主 加入收藏
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
得分:0 

版主,你错了,我不是计算机专业的,
我C#,和ASP.NET全是自学的,数据结构我没有学习过,至于SQL原理,也是我自己学习的,也没有什么造诣,所以才天天来论坛学习,看别人写的,自己再捉摸,全靠论坛的兄弟姐妹们,我的编程才上路了,
你说的那悠然懂的不是太好,一个兄弟给我了一点参考的东西,可是我不知道行否?
CREATE PROCEDURE USP_CatalogDeleteChild
(
@catalogid nvarchar(50)
)
AS
SET NOCOUNT ON

DECLARE @childCatalogId nvarchar(50)
DECLARE @loop int
DECLARE @totalrow int

DELETE FROM cms_catalog WHERE [id] = @catalogid
BEGIN
----------递归,使用临时表
SELECT[id],identity(int) AS i INTO #tmp FROM cms_catalog WHERE parentid = @catalogid
SET @totalrow = @@rowcount
SET @loop =1

WHILE(@loop <= @totalrow)
begin
SELECT @childCatalogId = [id] FROM #tmp WHERE i = @loop
SET @loop = @loop+1
EXEC USP_CatalogDeleteChild @childCatalogId
end
END
GO
可是我本来想用程序来解决的,你看看,再给一点建议.谢谢版主的回答.


让我们风风火火的过一生,别平平淡淡过一年。
2006-08-04 07:51
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 
这个应该可以,不过你都一样要用程序来调用啊,而且如果你可以用程序控制就用程序控制,存储过程很难调试的....

c++/C + 汇编 = 天下无敌
2006-08-04 08:55
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
得分:0 

这个我明白,可是学习编程,怕难会行吗?总得有第一次,谢谢你的提示.以后,我们常来这个版里,向你学习数据结构.


让我们风风火火的过一生,别平平淡淡过一年。
2006-08-04 09:07
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 
不是怕不怕难的问题,用了存储过程,在实际开发中严重浪费时间,我曾经在一个网络公司工作过一个月,就是弄的,那里的人都不用存储过程的,最初的时候用,但是调试极度麻烦,不可以断点跟踪,增大了开发的时间,所以现在都不用了

c++/C + 汇编 = 天下无敌
2006-08-04 10:04
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
得分:0 
我明白啦,那我的这个问题应该如何解决呢?用程序感觉真的很难解决啦??

让我们风风火火的过一生,别平平淡淡过一年。
2006-08-04 10:17
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 
这个用程序才快啊,你先删除 homedeptID的东西, 然后再删除 dept_ID 的,两条delete语句就弄好了,连触发器都不用使用

c++/C + 汇编 = 天下无敌
2006-08-04 10:22
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
得分:0 
可是的下级部门下还有下级部门,我写出的只是树型的开始,下面还有无限多个呢?
要是只有这个二三级部门的话,而且还真的很固定的话,我早就做到删除啦.可是现在下面却是无限的
才是我没有办法啦,所以我才想起数据结构里有这个树的遍历,才把这个帖子发到这里.
版主,你能代我想想吗??谢谢

让我们风风火火的过一生,别平平淡淡过一年。
2006-08-04 11:54
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 
那你这个表是在SQL里面建立还是怎样???你用树来建立这些关系,那你那个数据怎样储存???你这个东西干脆用链表做算了,你这个其实是多级的索引来的,用树的话还要转变成二叉树来遍历,更加繁琐,你用那个ListDictionary来建立几级索引看看.反正里面的元素是COBJET来的.

c++/C + 汇编 = 天下无敌
2006-08-04 12:06
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 
或者你看看用Hashtable, 反正 这两样东西都有一个key/value的,哈哈.反正你SQL的表已经是固定的了,

c++/C + 汇编 = 天下无敌
2006-08-04 12:08
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 
你干脆加我QQ 269312185算了,这样说麻烦得要死,而且我在上班.....晚上跟你好好讨论,现在我还是模模糊糊的,

c++/C + 汇编 = 天下无敌
2006-08-04 12:09
快速回复:这个遍历问题我不会!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017017 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved