你的位置:首页 > 数据库

[数据库]根据数据库输出XML菜单


  1. USE [test_YTHH]
  2. GO
  3. /****** Object:  StoredProcedure [dbo].[usp_Print_SCC_Menu]    Script Date: 04/08/2013 11:21:23 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8.  
  9.  
  10. ——————————–
  11. –简易输出Sys菜单
  12. —BY HXL
  13. —20136–04–08
  14. ——————————–
  15. CREATE PROC [dbo].[usp_Print_Sys_Menu]
  16. AS
  17. BEGIN
  18.  
  19.     DECLARE @parentID INT
  20.     DECLARE @text NVARCHAR(20)
  21.     DECLARE @value CHAR(7)
  22.     DECLARE @text2 NVARCHAR(20)
  23.     DECLARE @value2 CHAR(7)
  24.     DECLARE p_cur CURSOR  FOR SELECT  FunctionName,FunctionCode,FunctionID FROM dbo.[Function] WHERE ParentID = 6001 AND FunctionType = 1
  25.     OPEN p_cur
  26.  
  27.     FETCH NEXT FROM  p_cur INTO @text,@value ,@parentID
  28.     WHILE @@FETCH_STATUS = 0    
  29.     BEGIN
  30.                 
  31.         –父菜单
  32.         PRINT ‘ <Menu id=”‘+@value+‘” text=”‘+@text+‘” iconCls=”Frame_Main_icon11″>’    
  33.         
  34.         –子菜单
  35.         DECLARE sub_cur CURSOR  FOR SELECT  FunctionName,CAST(FunctionCode AS NVARCHAR(20)) FROM dbo.[Function] WHERE ParentID = @parentID AND FunctionType = 2    
  36.         OPEN sub_cur
  37.         FETCH NEXT FROM  sub_cur INTO @text2,@value2
  38.         WHILE @@FETCH_STATUS = 0    
  39.         BEGIN    
  40.             PRINT ‘        <Menu id=”‘+@value2+‘”  pid=”‘+@value+‘”  text=”‘+@text2+‘” url=”../DBM/”></Menu> ‘  
  41.             FETCH NEXT FROM  sub_cur INTO @text2,@value2
  42.         END
  43.         
  44.         CLOSE sub_cur
  45.         DEALLOCATE sub_cur  
  46.         
  47.         PRINT ‘</Menu>’
  48.         FETCH NEXT FROM  p_cur INTO @text,@value,@parentID    
  49.         
  50.     END    
  51.     –关闭游标
  52.     CLOSE p_cur
  53.     –释放资源
  54.     DEALLOCATE p_cur
  55.         
  56. END
  57. 转载自:http://www.aspnetjia.com/Cont-49.html