你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 跟高手学编程
权限管理与系统登录(七)
 

ADODataSetUserRole.FieldValues['UserID']:=ADODataSet_User.FieldValues['TeacherID'];

          end;

       2 :begin // 学生

        ADODataSetUserRole.FieldValues['UserID']:=ADODataSet_User.FieldValues['StudentID'];

          end;

      end;

      iPos := Pos(',',  CheckListBoxRole.Items[iCount]);

      ADODataSetUserRole.FieldValues['RoleID']:=Copy(CheckListBoxRole.Items[iCount],1,iPos-1);

      ADODataSetUserRole.Post;

     end;

    end;

   end;

     end;

  3: begin  // 角色权限信息发生变化

    DMServerDB.ADODataSetRoleRight.Edit;

    DMServerDB.ADODataSetRoleRight.Post;

     end;

 end;

end;

当需要添加角色时,需要设计“添加”按钮,相关代码如下:

procedure TFormRightManage.SBtnAddClick(Sender: TObject);

begin

  DMServerDB.ADODataSetRole.Append; // 添加一个空记录

  DBEditRoleID.Enabled := True;

  DBEditRoleID.SetFocus;

end;

当界面显示时,需要初始化界面对象的属性,并自动设置ADODataSet_User对象的AfterScroll事件和ADODataSetRole对象的AfterPost 事件,因此需要编制FormRightManageOnShow()事件,相关代码如下:

procedure TFormRightManage.FormShow(Sender: TObject);

begin

  EditSearch.Text:='';

  CheckListBoxRole_AddRole;

  ADODataSet_User.Connection := DMServerDB.ADOConnection;

//是否为系统管理员,对管理员有所有权限,否则只能查看自己的信息

  CBoxUserType.Enabled := IsAdministroy;

  CBoxSearchType.Enabled := CBoxUserType.Enabled;      // 查询类型

  EditSearch.Enabled := CBoxUserType.Enabled;           // 查找输入框

  CheckListBoxRole.Enabled := CBoxUserType.Enabled;     // 删除按钮

  SBtnSave.Enabled := CBoxUserType.Enabled;            // 保存按钮

  DBCheckBox.Enabled := CBoxUserType.Enabled;         // 是否有权限

  TabSheetUserRoleInfor.Enabled := CBoxUserType.Enabled;  // 用户角色信息选项页

  TabSheetRoleInfor.Enabled := CBoxUserType.Enabled;      // 角色信息选项页

  if Not CBoxUserType.Enabled then begin            // 不是系统管理员

   CBoxUserType.ItemIndex := UserType-1;

   EditSearch.Text := UserID;

  end;

  With DMServerDB do begin

   ADODataSetUserRole.Filtered := True; // 过滤起作用

   ADODataSet_User.Close;

// 动态设置事件关联

   ADODataSet_User.AfterScroll := ADODataSetUserAfterScroll;

   ADODataSetRole.AfterPost := ADODataSetRoleAfterPost;

 ADODataSetRole.First;  // 移到第一个记录

  end;

  SBtnSearchClick( Nil );     // 进行查询

  PageCtrlUserChange( Nil );  // 控制显示

end;

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089