我有一个基于角色的权限登录,它确定登录用户可用的菜单选项。
当前,在保存新角色时,我使用存储过程。
using (SqlCommand cmd = new SqlCommand("InsertRole", con))
{
cmd.CommandType = CommandType.StoredProcedure;
if (con.State != ConnectionState.Open)
con.Open();
cmd.Parameters.AddWithValue("@RoleName", roleNameTB.Text.Trim());
cmd.Parameters.AddWithValue("@Description", descriptionTB.Text.Trim());
cmd.Parameters.AddWithValue("@CreatedBy", LoggedInUser.UserName);
以上显然不是完整代码。无论如何,这部分过程是有效的。
但是,我现在需要将菜单项添加到权限表中,以便为该特定角色启用或禁用菜单项。
我目前只需要插入4条新行/记录(目前创建的菜单项,总共应该不超过20条)。我希望在新角色插入角色数据库后直接插入它,或者可以通过单击插入按钮将其插入权限页面。
cmd.Parameters.AddWithValue("@RoleId", combobox.selectedvalue);
cmd.Parameters.AddWithValue("@SubMenuId", 1);
cmd.Parameters.AddWithValue("@Active", 0);
cmd.Parameters.AddWithValue("@RoleId", combobox.selectedvalue);
cmd.Parameters.AddWithValue("@SubMenuId", 2);
cmd.Parameters.AddWithValue("@Active", 0);
cmd.Parameters.AddWithValue("@RoleId", combobox.selectedvalue);
cmd.Parameters.AddWithValue("@SubMenuId", 3);
cmd.Parameters.AddWithValue("@Active", 0);
cmd.Parameters.AddWithValue("@RoleId", combobox.selectedvalue);
cmd.Parameters.AddWithValue("@SubMenuId", 4);
cmd.Parameters.AddWithValue("@Active", 0);
我知道上面是错误的,但它只是为了向您展示我需要插入的记录。
RoleId
始终是新创建的角色。我确实在SCOPE_IDENTITY()
程序中设置了InsertRole
。
从这个意义上说,我不太精通 SQL,所以我不知道实现这一目标的最佳方法是什么。
任何指导将不胜感激。如果我遗漏了什么,请不要犹豫,询问更多信息。