根据数据库输出XML菜单

时间:2024-08-15 11:05:20
  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. –简易输出Sys菜单
  10. —BY HXL
  11. —20136–04–08
  12. ——————————–
  13. CREATE PROC [dbo].[usp_Print_Sys_Menu]
  14. AS
  15. BEGIN
  16. DECLARE @parentID INT
  17. DECLARE @text NVARCHAR(20)
  18. DECLARE @value CHAR(7)
  19. DECLARE @text2 NVARCHAR(20)
  20. DECLARE @value2 CHAR(7)
  21. DECLARE p_cur CURSOR  FOR SELECT  FunctionName,FunctionCode,FunctionID FROM dbo.[Function] WHERE ParentID = 6001 AND FunctionType = 1
  22. OPEN p_cur
  23. FETCH NEXT FROM  p_cur INTO @text,@value ,@parentID
  24. WHILE @@FETCH_STATUS = 0
  25. BEGIN
  26. –父菜单
  27. PRINT ‘ <Menu id=”‘+@value+‘” text=”‘+@text+‘” iconCls=”Frame_Main_icon11″>’
  28. –子菜单
  29. DECLARE sub_cur CURSOR  FOR SELECT  FunctionName,CAST(FunctionCode AS NVARCHAR(20)) FROM dbo.[Function] WHERE ParentID = @parentID AND FunctionType = 2
  30. OPEN sub_cur
  31. FETCH NEXT FROM  sub_cur INTO @text2,@value2
  32. WHILE @@FETCH_STATUS = 0
  33. BEGIN
  34. PRINT ‘        <Menu id=”‘+@value2+‘”  pid=”‘+@value+‘”  text=”‘+@text2+‘” url=”../DBM/”></Menu> ‘
  35. FETCH NEXT FROM  sub_cur INTO @text2,@value2
  36. END
  37. CLOSE sub_cur
  38. DEALLOCATE sub_cur
  39. PRINT ‘</Menu>’
  40. FETCH NEXT FROM  p_cur INTO @text,@value,@parentID
  41. END
  42. –关闭游标
  43. CLOSE p_cur
  44. –释放资源
  45. DEALLOCATE p_cur
  46. END
  47. 转载自:http://www.aspnetjia.com/Cont-49.html