树型结构是递归算法的经典实例(只怪非CS的我没有扎实的数据结构功底,鼓捣了两个半天 :P)。有个新闻分类表CATEGORY,如图,现在想取出分类数据后以树型展开并在下拉框中显示出来。
本来的方案是取出数据后在中间层对DataTable排序,格式字符串等放在一起操作的,后来感觉中间层负担太重,所以把排序放到了存储过程中。参考了SqlServer手册,终于完成了,分享一下吧。
存储过程代码如下:
![按此在新窗口打开图片](http://blog.mvpcn.net/images/upload/chagel/catytable.jpg)
![按此在新窗口打开图片](http://blog.mvpcn.net/images/upload/chagel/dropdownlist.jpg)
本来的方案是取出数据后在中间层对DataTable排序,格式字符串等放在一起操作的,后来感觉中间层负担太重,所以把排序放到了存储过程中。参考了SqlServer手册,终于完成了,分享一下吧。
存储过程代码如下:
程序代码:
CREATE PROC SPMakeCatyTree
(@Child_node int)
As
SET NOCOUNT ON
--定义变量
DECLARE @lvl int--层次关系
DECLARE @title char(100)--分类名称
--生成临时表
CREATE TABLE #stack (Child_node int,Lvl int)
--生成目的表
(@Child_node int)
As
SET NOCOUNT ON
--定义变量
DECLARE @lvl int--层次关系
DECLARE @title char(100)--分类名称
--生成临时表
CREATE TABLE #stack (Child_node int,Lvl int)
--生成目的表