多个业务子系统的集中统一管理用户权限,SQL脚本批量事务运行的参考代码

子系统的配置管理参考界面,通用权限管理系统组件可以同时集中管理控制多个子系统,提高同时开发多个项目的效率。每个系统都可以独立,互相不干涉,灵活性高,部署开发方便,管理规范。

数据库里每个独立的子系统的参考效果图

创建子系统的相关代码,批量执行sql脚本,执行数据库事务的参考代码

/// <summary>
        /// 调用批量执行脚本的语句
        /// 批量执行脚本
        /// </summary>
        private void ExecuteScript(string[] lines)
        {
            using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType))
            {
                String sqlQuery = String.Empty;
                String sqlLine = String.Empty;
                try
                {
                    // 打开数据库连接
                    dbHelper.Open(BaseSystemInfo.UserCenterDbConnection);
                    dbHelper.BeginTransaction();
                    // 循环读取文本文件
                    for (int i = 0; i < lines.Length; i++)
                    {
                        sqlLine = lines[i];
                        if (sqlLine != null && !string.IsNullOrEmpty(sqlLine))
                        {
                            if (sqlLine.ToUpper().Equals("GO"))
                            {
                                // 执行数据库查询语句
                                dbHelper.ExecuteNonQuery(sqlQuery);
                                sqlQuery = string.Empty;
                            }
                            else
                            {
                                sqlQuery += sqlLine + System.Environment.NewLine;
                            }
                        }
                    }
                    dbHelper.CommitTransaction();
                    // 成功的提示信息
                    MessageBox.Show(AppMessage.MSG3010, AppMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (Exception ex)
                {
                    dbHelper.RollbackTransaction();
                    // 在本地文件中记录系统异常信息
                    this.WriteException(ex);
                    throw;
                }
                finally
                {
                    // 关闭数据库库连接
                    dbHelper.Close();
                }
            }
        }

        #region public bool CheckInputCreateSystem() 检查输入的有效性
        /// <summary>
        /// 检查输入的有效性
        /// </summary>
        public bool CheckInputCreateSystem()
        {
            // 是否没有输入系统编号
            if (string.IsNullOrEmpty(this.txtSystemCode.Text))
            {
                MessageBox.Show(AppMessage.Format(AppMessage.MSG0007, AppMessage.MSG9977), AppMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.txtUser.Focus();
                return false;
            }
            // 是否没有输入系统名称
            if (string.IsNullOrEmpty(this.txtSystemName.Text))
            {
                MessageBox.Show(AppMessage.Format(AppMessage.MSG0007, AppMessage.MSG9978), AppMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.txtUser.Focus();
                return false;
            }
            return true;
        }
        #endregion

        private void btnCreateSystem_Click(object sender, EventArgs e)
        {
            if (this.CheckInputCreateSystem())
            {
                // 按系统的配置信息动态获取数据库连接
                string file = Application.StartupPath + "//Resources/System.sql";
                if (System.IO.File.Exists(file))
                {
                    // 读取指定的脚本文件
                    string[] lines = File.ReadAllLines(file);
                    for (int i = 0; i < lines.Length; i++)
                    {
                        lines[i] = lines[i].Replace("{SystemCode}", this.txtSystemCode.Text).Replace("{SystemName}", this.txtSystemName.Text);
                    }
                    this.ExecuteScript(lines);
                }
            }
        }


创建子系统的脚本参考

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[{SystemCode}Items](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[ParentId] [int] NULL,
	[Code] [nvarchar](50) NULL,
	[FullName] [nvarchar](100) NULL,
	[TargetTable] [nvarchar](50) NULL,
	[IsTree] [int] NOT NULL,
	[UseItemCode] [nvarchar](50) NOT NULL,
	[UseItemName] [nvarchar](50) NOT NULL,
	[UseItemValue] [nvarchar](50) NOT NULL,
	[Enabled] [int] NOT NULL,
	[AllowEdit] [int] NOT NULL,
	[AllowDelete] [int] NOT NULL,
	[DeletionStateCode] [int] NOT NULL,
	[SortCode] [int] NULL,
	[Description] [nvarchar](200) NULL,
	[CreateOn] [smalldatetime] NULL,
	[CreateUserId] [nvarchar](20) NULL,
	[CreateBy] [nvarchar](20) NULL,
	[ModifiedOn] [smalldatetime] NULL,
	[ModifiedUserId] [nvarchar](20) NULL,
	[ModifiedBy] [nvarchar](20) NULL,
 CONSTRAINT [PK_{SystemCode}Items] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[{SystemCode}Items] ADD  CONSTRAINT [DF_{SystemCode}ItemsIsTree]  DEFAULT ((0)) FOR [IsTree]
GO

ALTER TABLE [dbo].[{SystemCode}Items] ADD  CONSTRAINT [DF_{SystemCode}ItemsUseItemCode]  DEFAULT (N'编号') FOR [UseItemCode]
GO

ALTER TABLE [dbo].[{SystemCode}Items] ADD  CONSTRAINT [DF_{SystemCode}ItemsUseItemName]  DEFAULT (N'名称') FOR [UseItemName]
GO

ALTER TABLE [dbo].[{SystemCode}Items] ADD  CONSTRAINT [DF_{SystemCode}ItemsUseItemValue]  DEFAULT (N'值') FOR [UseItemValue]
GO

ALTER TABLE [dbo].[{SystemCode}Items] ADD  CONSTRAINT [DF_{SystemCode}ItemsEnabled]  DEFAULT ((1)) FOR [Enabled]
GO

ALTER TABLE [dbo].[{SystemCode}Items] ADD  CONSTRAINT [DF_{SystemCode}ItemsAllowEdit]  DEFAULT ((1)) FOR [AllowEdit]
GO

ALTER TABLE [dbo].[{SystemCode}Items] ADD  CONSTRAINT [DF_{SystemCode}ItemsAllowDelete]  DEFAULT ((1)) FOR [AllowDelete]
GO

ALTER TABLE [dbo].[{SystemCode}Items] ADD  CONSTRAINT [DF_{SystemCode}ItemsDeletionStateCode]  DEFAULT ((0)) FOR [DeletionStateCode]
GO

ALTER TABLE [dbo].[{SystemCode}Items] ADD  CONSTRAINT [DF_{SystemCode}ItemsCreateOn]  DEFAULT (getdate()) FOR [CreateOn]
GO

ALTER TABLE [dbo].[{SystemCode}Items] ADD  CONSTRAINT [DF_{SystemCode}ItemsModifiedOn]  DEFAULT (getdate()) FOR [ModifiedOn]
GO

CREATE TABLE [dbo].[{SystemCode}Module](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[ParentId] [int] NULL,
	[Code] [nvarchar](100) NULL,
	[FullName] [nvarchar](100) NULL,
	[Category] [nvarchar](50) NULL,
	[ImageIndex] [nvarchar](50) NULL,
	[SelectedImageIndex] [nvarchar](50) NULL,
	[NavigateUrl] [nvarchar](200) NULL,
	[Target] [nvarchar](100) NULL,
	[FormName] [nvarchar](100) NULL,
	[AssemblyName] [nvarchar](100) NULL,
	[PermissionItemCode] [nvarchar](50) NULL,
	[PermissionScopeTables] [nvarchar](500) NULL,
	[SortCode] [int] NULL,
	[Enabled] [int] NOT NULL,
	[DeletionStateCode] [int] NOT NULL,
	[IsMenu] [int] NULL,
	[IsPublic] [int] NOT NULL,
	[Expand] [int] NOT NULL,
	[AllowEdit] [int] NOT NULL,
	[AllowDelete] [int] NOT NULL,
	[Description] [nvarchar](200) NULL,
	[CreateOn] [smalldatetime] NULL,
	[CreateUserId] [nvarchar](20) NULL,
	[CreateBy] [nvarchar](20) NULL,
	[ModifiedOn] [smalldatetime] NULL,
	[ModifiedUserId] [nvarchar](20) NULL,
	[ModifiedBy] [nvarchar](20) NULL,
 CONSTRAINT [PK_{SystemCode}Module] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[{SystemCode}Module] ADD  CONSTRAINT [DF_{SystemCode}ModulePermissionItemCode]  DEFAULT (N'Resource.AccessPermission') FOR [PermissionItemCode]
GO

ALTER TABLE [dbo].[{SystemCode}Module] ADD  CONSTRAINT [DF_{SystemCode}ModuleEnabled]  DEFAULT ((1)) FOR [Enabled]
GO

ALTER TABLE [dbo].[{SystemCode}Module] ADD  CONSTRAINT [DF_{SystemCode}ModuleDeletionStateCode]  DEFAULT ((0)) FOR [DeletionStateCode]
GO

ALTER TABLE [dbo].[{SystemCode}Module] ADD  CONSTRAINT [DF_{SystemCode}ModuleIsMenu]  DEFAULT ((1)) FOR [IsMenu]
GO

ALTER TABLE [dbo].[{SystemCode}Module] ADD  CONSTRAINT [DF_{SystemCode}ModuleIsPublic]  DEFAULT ((0)) FOR [IsPublic]
GO

ALTER TABLE [dbo].[{SystemCode}Module] ADD  CONSTRAINT [DF_{SystemCode}ModuleExpand]  DEFAULT ((0)) FOR [Expand]
GO

ALTER TABLE [dbo].[{SystemCode}Module] ADD  CONSTRAINT [DF_{SystemCode}ModuleAllowEdit]  DEFAULT ((1)) FOR [AllowEdit]
GO

ALTER TABLE [dbo].[{SystemCode}Module] ADD  CONSTRAINT [DF_{SystemCode}ModuleAllowDelete]  DEFAULT ((1)) FOR [AllowDelete]
GO

CREATE TABLE [dbo].[{SystemCode}Permission](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[ResourceCategory] [nvarchar](50) NULL,
	[ResourceId] [nvarchar](50) NULL,
	[PermissionId] [nvarchar](50) NULL,
	[PermissionConstraint] [nvarchar](200) NULL,
	[Enabled] [int] NULL,
	[DeletionStateCode] [int] NOT NULL,
	[Description] [nvarchar](200) NULL,
	[CreateOn] [smalldatetime] NULL,
	[CreateUserId] [nvarchar](20) NULL,
	[CreateBy] [nvarchar](20) NULL,
	[ModifiedOn] [smalldatetime] NULL,
	[ModifiedUserId] [nvarchar](20) NULL,
	[ModifiedBy] [nvarchar](20) NULL,
 CONSTRAINT [PK_{SystemCode}Permission] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[{SystemCode}Permission] ADD  CONSTRAINT [DF_{SystemCode}PermissionDeletionStateCode]  DEFAULT ((0)) FOR [DeletionStateCode]
GO

ALTER TABLE [dbo].[{SystemCode}Permission] ADD  CONSTRAINT [DF_{SystemCode}PermissionCreateOn]  DEFAULT (getdate()) FOR [CreateOn]
GO

ALTER TABLE [dbo].[{SystemCode}Permission] ADD  CONSTRAINT [DF_{SystemCode}PermissionModifiedOn]  DEFAULT (getdate()) FOR [ModifiedOn]
GO

CREATE TABLE [dbo].[{SystemCode}PermissionItem](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[ParentId] [int] NULL,
	[Code] [nvarchar](100) NULL,
	[FullName] [nvarchar](200) NULL,
	[CategoryCode] [nvarchar](50) NOT NULL,
	[IsScope] [int] NOT NULL,
	[IsPublic] [int] NOT NULL,
	[IsVisible] [int] NOT NULL,
	[AllowEdit] [int] NOT NULL,
	[AllowDelete] [int] NOT NULL,
	[LastCall] [smalldatetime] NULL,
	[SortCode] [int] NULL,
	[Enabled] [int] NOT NULL,
	[DeletionStateCode] [int] NOT NULL,
	[Description] [nvarchar](200) NULL,
	[CreateOn] [smalldatetime] NULL,
	[CreateUserId] [nvarchar](20) NULL,
	[CreateBy] [nvarchar](20) NULL,
	[ModifiedOn] [smalldatetime] NULL,
	[ModifiedUserId] [nvarchar](20) NULL,
	[ModifiedBy] [nvarchar](20) NULL,
 CONSTRAINT [PK_{SystemCode}PermissionItem] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[{SystemCode}PermissionItem] ADD  CONSTRAINT [DF_{SystemCode}PermissionItemCategoryCode]  DEFAULT (N'Application') FOR [CategoryCode]
GO

ALTER TABLE [dbo].[{SystemCode}PermissionItem] ADD  CONSTRAINT [DF_{SystemCode}PermissionItemIsScope]  DEFAULT ((0)) FOR [IsScope]
GO

ALTER TABLE [dbo].[{SystemCode}PermissionItem] ADD  CONSTRAINT [DF_{SystemCode}PermissionItemIsPublic]  DEFAULT ((0)) FOR [IsPublic]
GO

ALTER TABLE [dbo].[{SystemCode}PermissionItem] ADD  CONSTRAINT [DF_{SystemCode}PermissionItemIsVisible]  DEFAULT ((1)) FOR [IsVisible]
GO

ALTER TABLE [dbo].[{SystemCode}PermissionItem] ADD  CONSTRAINT [DF_{SystemCode}PermissionItemAllowEdit]  DEFAULT ((1)) FOR [AllowEdit]
GO

ALTER TABLE [dbo].[{SystemCode}PermissionItem] ADD  CONSTRAINT [DF_{SystemCode}PermissionItemAllowDelete]  DEFAULT ((1)) FOR [AllowDelete]
GO

ALTER TABLE [dbo].[{SystemCode}PermissionItem] ADD  CONSTRAINT [DF_{SystemCode}PermissionItemEnabled]  DEFAULT ((1)) FOR [Enabled]
GO

ALTER TABLE [dbo].[{SystemCode}PermissionItem] ADD  CONSTRAINT [DF_{SystemCode}PermissionItemDeletionStateCode]  DEFAULT ((0)) FOR [DeletionStateCode]
GO

ALTER TABLE [dbo].[{SystemCode}PermissionItem] ADD  CONSTRAINT [DF_{SystemCode}PermissionItemCreateOn]  DEFAULT (getdate()) FOR [CreateOn]
GO

ALTER TABLE [dbo].[{SystemCode}PermissionItem] ADD  CONSTRAINT [DF_{SystemCode}PermissionItemModifiedOn]  DEFAULT (getdate()) FOR [ModifiedOn]
GO

CREATE TABLE [dbo].[{SystemCode}PermissionScope](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[ResourceCategory] [nvarchar](50) NULL,
	[ResourceId] [nvarchar](50) NULL,
	[TargetCategory] [nvarchar](50) NULL,
	[TargetId] [nvarchar](50) NULL,
	[PermissionId] [int] NULL,
	[PermissionConstraint] [nvarchar](200) NULL,
	[StartDate] [smalldatetime] NULL,
	[EndDate] [smalldatetime] NULL,
	[Enabled] [int] NOT NULL,
	[DeletionStateCode] [int] NOT NULL,
	[Description] [nvarchar](200) NULL,
	[CreateOn] [smalldatetime] NULL,
	[CreateUserId] [nvarchar](20) NULL,
	[CreateBy] [nvarchar](20) NULL,
	[ModifiedOn] [smalldatetime] NULL,
	[ModifiedUserId] [nvarchar](20) NULL,
	[ModifiedBy] [nvarchar](20) NULL,
 CONSTRAINT [PK_{SystemCode}PermissionScope] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[{SystemCode}PermissionScope] ADD  CONSTRAINT [DF_{SystemCode}PermissionScopeEnabled]  DEFAULT ((1)) FOR [Enabled]
GO

ALTER TABLE [dbo].[{SystemCode}PermissionScope] ADD  CONSTRAINT [DF_{SystemCode}PermissionScopeDeletionStateCode]  DEFAULT ((0)) FOR [DeletionStateCode]
GO

ALTER TABLE [dbo].[{SystemCode}PermissionScope] ADD  CONSTRAINT [DF_{SystemCode}PermissionScopeCreateOn]  DEFAULT (getdate()) FOR [CreateOn]
GO

ALTER TABLE [dbo].[{SystemCode}PermissionScope] ADD  CONSTRAINT [DF_{SystemCode}PermissionScopeModifiedOn]  DEFAULT (getdate()) FOR [ModifiedOn]
GO

CREATE TABLE [dbo].[{SystemCode}Role](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[SystemId] [nvarchar](50) NULL,
	[OrganizeId] [int] NULL,
	[CategoryCode] [nvarchar](50) NULL,
	[Code] [nvarchar](50) NULL,
	[Realname] [nvarchar](200) NULL,
	[AllowEdit] [int] NOT NULL,
	[AllowDelete] [int] NOT NULL,
	[IsVisible] [int] NOT NULL,
	[SortCode] [int] NULL,
	[DeletionStateCode] [int] NOT NULL,
	[Enabled] [int] NOT NULL,
	[Description] [nvarchar](200) NULL,
	[CreateOn] [smalldatetime] NULL,
	[CreateUserId] [nvarchar](20) NULL,
	[CreateBy] [nvarchar](20) NULL,
	[ModifiedOn] [smalldatetime] NULL,
	[ModifiedUserId] [nvarchar](20) NULL,
	[ModifiedBy] [nvarchar](20) NULL,
 CONSTRAINT [PK_{SystemCode}Role] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[{SystemCode}Role] ADD  CONSTRAINT [DF_{SystemCode}RoleAllowEdit]  DEFAULT ((1)) FOR [AllowEdit]
GO

ALTER TABLE [dbo].[{SystemCode}Role] ADD  CONSTRAINT [DF_{SystemCode}RoleAllowDelete]  DEFAULT ((1)) FOR [AllowDelete]
GO

ALTER TABLE [dbo].[{SystemCode}Role] ADD  CONSTRAINT [DF_{SystemCode}RoleIsVisible]  DEFAULT ((1)) FOR [IsVisible]
GO

ALTER TABLE [dbo].[{SystemCode}Role] ADD  CONSTRAINT [DF_{SystemCode}RoleSortCode]  DEFAULT ((0)) FOR [SortCode]
GO

ALTER TABLE [dbo].[{SystemCode}Role] ADD  CONSTRAINT [DF_{SystemCode}RoleDeletionStateCode]  DEFAULT ((0)) FOR [DeletionStateCode]
GO

ALTER TABLE [dbo].[{SystemCode}Role] ADD  CONSTRAINT [DF_{SystemCode}RoleEnabled]  DEFAULT ((1)) FOR [Enabled]
GO

ALTER TABLE [dbo].[{SystemCode}Role] ADD  CONSTRAINT [DF_{SystemCode}RoleCreateOn]  DEFAULT (getdate()) FOR [CreateOn]
GO

ALTER TABLE [dbo].[{SystemCode}Role] ADD  CONSTRAINT [DF_{SystemCode}RoleModifiedOn]  DEFAULT (getdate()) FOR [ModifiedOn]
GO

CREATE TABLE [dbo].[{SystemCode}UserRole](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[UserId] [int] NULL,
	[RoleId] [int] NOT NULL,
	[SortCode] [int] NULL,
	[Enabled] [int] NOT NULL,
	[DeletionStateCode] [int] NOT NULL,
	[Description] [nvarchar](200) NULL,
	[CreateOn] [smalldatetime] NULL,
	[CreateUserId] [nvarchar](20) NULL,
	[CreateBy] [nvarchar](20) NULL,
	[ModifiedOn] [smalldatetime] NULL,
	[ModifiedUserId] [nvarchar](20) NULL,
	[ModifiedBy] [nvarchar](20) NULL,
 CONSTRAINT [PK_{SystemCode}UserRole] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[{SystemCode}UserRole] ADD  CONSTRAINT [DF_{SystemCode}UserRoleEnabled]  DEFAULT ((1)) FOR [Enabled]
GO

ALTER TABLE [dbo].[{SystemCode}UserRole] ADD  CONSTRAINT [DF_{SystemCode}UserRoleDeletionStateCode]  DEFAULT ((0)) FOR [DeletionStateCode]
GO

ALTER TABLE [dbo].[{SystemCode}UserRole] ADD  CONSTRAINT [DF_{SystemCode}UserRoleCreateOn]  DEFAULT (getdate()) FOR [CreateOn]
GO

ALTER TABLE [dbo].[{SystemCode}UserRole] ADD  CONSTRAINT [DF_{SystemCode}UserRoleModifiedOn]  DEFAULT (getdate()) FOR [ModifiedOn]
GO

INSERT INTO [dbo].[{SystemCode}PermissionItem] ([Code],[FullName],[IsVisible]) VALUES('Resource.ManagePermission', '资源管理权限[系统内置]', 0)
GO

INSERT INTO [dbo].[{SystemCode}PermissionItem] ([Code],[FullName],[IsVisible]) VALUES('Resource.AccessPermission', '资源访问权限[系统内置]', 0)
GO

INSERT INTO [dbo].[{SystemCode}PermissionItem] ([Code],[FullName],[IsVisible]) VALUES('Column.Access', '访问列权限[系统内置]', 0)
GO

INSERT INTO [dbo].[{SystemCode}PermissionItem] ([Code],[FullName],[IsVisible]) VALUES('Column.Edit', '编辑列访问[系统内置]', 0)
GO

INSERT INTO [dbo].[{SystemCode}PermissionItem] ([Code],[FullName],[IsVisible]) VALUES('Column.Deney', '拒绝访问列[系统内置]', 0)
GO

INSERT INTO [dbo].[ItemsSystem] ([ItemCode],[ItemName],[ItemValue]) VALUES('{SystemCode}','{SystemName}','{SystemCode}')
GO

转载于:https://my.oschina.net/iwenr/blog/227897

猜你喜欢

转载自blog.csdn.net/weixin_33676492/article/details/91675274
今日推荐