最近开发的一个项目中用到了无限级别菜单,因此将此代码贴出来,以供研究,开发环境为VS2008+SQL 2000。
首先,创建数据库表的代码如下:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[work_sysmenu]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[work_sysmenu]
GO
CREATE TABLE [dbo].[work_sysmenu] (
[flowid] [int] IDENTITY (1, 1) NOT NULL ,
[menu_title] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[menu_value] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[menu_url] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
[menu_parent] [int] NULL ,
[menu_role] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,
[menu_meno] [text] COLLATE Chinese_PRC_CI_AS NULL ,
[isvalid] [int] NULL ,
[menu_order] [int] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
drop table [dbo].[work_sysmenu]
GO
CREATE TABLE [dbo].[work_sysmenu] (
[flowid] [int] IDENTITY (1, 1) NOT NULL ,
[menu_title] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[menu_value] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[menu_url] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
[menu_parent] [int] NULL ,
[menu_role] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,
[menu_meno] [text] COLLATE Chinese_PRC_CI_AS NULL ,
[isvalid] [int] NULL ,
[menu_order] [int] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO