-1

我有 3 张桌子tblpermission, tblgroup, tblassigngrouppermission. 然后我有一个设计,有两个组合框用于选择组和权限。选择后,我将其添加到列表视图中。然后我保存它,到时候它会去桌子tblassigngrouppermission

该表具有assign id(默认增量)、groupid、等列permission id。所有都正确添加到表中。如果我选择相同的组来分配权限,则保存之后。然后我选择已分配的权限并单击保存将其添加到表中。但我不需要将已分配的权限添加到表中。

我怎样才能做到这一点?

4

2 回答 2

0

当您将数据保存回时,tblassigngrouppermission您必须检查表中是否group_id存在permission_id

如果它们存在,则必须更新tblassigngrouppermission,否则必须插入tblassigngrouppermission

于 2012-11-14T07:18:04.453 回答
0

如果您使用的是存储过程,您可以这样做

IF NOT EXISTS(Select permissionId From tblassigngrouppermission 
              Where groupId=@GroupID AND permissionId=@permissionId)
Begin

   INSERT INTO tblassigngrouppermission(groupId,permissionId) Values(@groupId, @PermissionID)
End

您也可以从您的代码中检查

==> 编写一个函数来测试权限是否已经存在

bool GroupPermissionExists(int groupId, int permissionId)
{
   //Select Where GroupId=groupId AND PermissionID=permissionId
}

if(!GroupPermissionExists(10, 123))
{
    AddPermissionToGroup(10, 123);
}
于 2012-11-14T08:33:48.297 回答