手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

无限级分类的非递归实现(存储过程版)

来源:互联网 作者:west263.com 时间:2008-02-22
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

IF @@Error <> 0
Begin
Set @Err = 13
Goto theEnd
End
End

--Print '更新本栏目的:Parent_ID,Column_Path,Column_Depth,Column_Order,Column_Name,Column_Intro'
Print 'Order : ' Ltrim(Str(@nColumn_Order))
IF @nColumn_Order > @oColumn_Order
Set @nColumn_Order = @nColumn_Order - @theCount
Update Tb_Column Set Parent_ID=@Parent_ID,Column_Path = @nColumn_Path,Column_Depth = @nColumn_Depth,Column_Order = @nColumn_Order, Column_Name = @Column_Name,Column_Intro = @Column_Intro Where Column_ID = @Column_ID
IF @@Error <> 0
Begin
Set @Err = 10
Goto theEnd
End

--Print '更新本栏目下的所有子栏目的:Column_Paht,Column_Depth,Column_Order'
Update Tb_Column Set Column_Path = Replace(Column_Path,@oColumn_Path,@nColumn_Path),Column_Depth = Column_Depth (@nColumn_Depth-@oColumn_Depth),Column_Order = Column_Order (@nColumn_Order-@oColumn_Order) Where Column_Path like '' @oColumn_Path '|%'
IF @@Error <> 0
Begin
Set @Err = 11
Goto theEnd
End
End

theEnd:
IF @Err<>0 --如果有错误则返回错误号
Begin
Rollback Tran
Return @Err
End
Else --如果没有错误就返回0
Begin
Commit Tran
Return 0
End
GO
===========================================================================
存储过程四:显示分类(只是一条select语句)
分类列表:
CREATE PROCEDURE sp_Column_List
AS
SELECT Column_ID, Column_Name, Parent_ID, Column_Path, Column_Depth,
Column_Order, Column_Intro
FROM Tb_Column
ORDER BY Column_Order
GO

=======================================
这里有一个在ASP.NET下使用的例子,放在朋友一个论坛上:
http://www.mzline.com/bbs/dispbbs.asp?boardID=67&ID=5044&replyID=25788&star=1&skin=0#25788

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!