如何禁止修改某一字段的值?

hxshaou 2009-04-28 11:04:51
我有一个表student(id,name,yuwen,shuxue).
用的是dbgrideh,在表格中我想让数学老师只能修改shuxe这个字段,不能修改yuwen这个字段.
...全文
211 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hxshaou 2009-04-28
  • 打赏
  • 举报
回复
我的员工表就相当于权限控制表
kumico 2009-04-28
  • 打赏
  • 举报
回复
根据你的权限要求,提取相应的规则,然后提升为数学模型,再应用OO设计法则创建相应的类,
当程序中需要判断权限时,只需:


var perm: TPermission;

perm := TPermission.Create;

if perm.ICanModify(student, weight) then
begin
// code here to modify something
end
else
ShowError("你未被授权以修改xxx的权重!");

perm.Free;



这是个抽象的过程,也是你的程序人生升华的过程
bdmh 2009-04-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hxshaou 的回复:]
还是没有明白我的意思.可能我没有描述清楚.
有员工表(id,name,主管老师)
id name 主管老师
1 张一 王老师
2 张二 李老师
有考核表
id name 考核项目 权重分 王老师打分 李老师打分
1 张一 编写程序 90 80 85
2 张一 画图 10 9 8
3 张二 土建施工 80 79 68
4 张二 电器施工 20 19 18

王老师能修改张一的权重,不能修改…
[/Quote]

估计是你没明白我的意思,你这样判断,会把你累死,做权限对应表,学生和老师,一个学生哪些老师可以对其修改,或者一个老师可以修改哪些学生,把这个对应做一个表,当然分配要你自己去分配了,这样也便于你得维护,如果你只是根据字面去判断,随着学生老师的增加,你得程序越来越可怕
hxshaou 2009-04-28
  • 打赏
  • 举报
回复
还是没有明白我的意思.可能我没有描述清楚.
有员工表(id,name,主管老师)
id name 主管老师
1 张一 王老师
2 张二 李老师
有考核表
id name 考核项目 权重分 王老师打分 李老师打分
1 张一 编写程序 90 80 85
2 张一 画图 10 9 8
3 张二 土建施工 80 79 68
4 张二 电器施工 20 19 18

王老师能修改张一的权重,不能修改张二的权重,还能打分
李老师能修改张二的权重,不能修改张一的权重,还能打分
我在beforeedit里写了判断语句,是可以控制权重这一字段,例如,王老师登录,我可以不让他修改张二的权重.SHOWMESSAGE('你不能修改此人权重').但我给他打分时,也出这个提示.我想是不是不能在这个事件里判断啊.望高手解答.
bdmh 2009-04-28
  • 打赏
  • 举报
回复
做个权限分配表吧,哪些记录能被哪些人修改,做个对应
willflyz 2009-04-28
  • 打赏
  • 举报
回复
可以加个权限控制,建立对应关系表.从表里查看老师是否有对应权限
hxshaou 2009-04-28
  • 打赏
  • 举报
回复
我没有描述清楚.
是这样.学生表中有四个人.
张一 王老师(数学)
张二 王老师(数学)
张三 李老师(数学)
张四. 李老师(数学)
王老师只能修改张一和张二的数学成绩.
bdmh 2009-04-28
  • 打赏
  • 举报
回复
在dbgrideh上,设置其它列为不可编辑

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧