2个回答
展开全部
这是一个典型的多对多映射的问题。
设计三张表:用户表(Users:ID,Name),操作表(Operations:ID,Name),权限表(UserOperation:UserID,OperationID)
在用户表中插入所有的用户,操作表中插入所有的操作类型。
在点击保存的时候,将当前用户的 ID和他能够进行的操作的ID存入权限表。
假设用户ss的ID为1,他可以进行的操作为“重新登录”(ID为1)、“修改密码”(ID为2)、“个人信息”(ID为3)三个,那么在单击“保存”的时候,存入权限表中的记录应该为:
UserID OperationID
1 1
1 2
1 3
以后如需得到用户ss具备的操作权限可以用类似以下的查询语句来实现:
SELECT o.Name
FROM Users AS u
INNER JOIN UserOperation AS uo
ON u.UserID = uo.UserID
INNER JOIN Operations AS o
ON ou.OperationID = o.OperationID
WHERE u.UserID = 1
展开全部
Sql权限表仨字段 Id int 自动编号(自增) UserId int 用户编号 权限字段 Comp nvarchar(max)
当点击保存,读取右边Listbox中所有数据,用符号','分开放入字符串 如: string strComp="重新登录,添加收支情况"; 这样保存用户的权限
当需要读取用户权限时,读取到用户权限Comp字段,将权限放入字符串数组,如:string[] Comp=dt.rows[0]["Comp"].tostring().split(',');
这样就就用户的所有权限都放入了数组Comp中,在通过循环添加进右边的listbox控件,用於显示用户的权限
当点击保存,读取右边Listbox中所有数据,用符号','分开放入字符串 如: string strComp="重新登录,添加收支情况"; 这样保存用户的权限
当需要读取用户权限时,读取到用户权限Comp字段,将权限放入字符串数组,如:string[] Comp=dt.rows[0]["Comp"].tostring().split(',');
这样就就用户的所有权限都放入了数组Comp中,在通过循环添加进右边的listbox控件,用於显示用户的权限
追问
有具体的代码吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询