首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

急救,做的一个系统,登陆权限菜单设置有关问题

2012-03-17 
急救,做的一个系统,登陆权限菜单设置问题目前能用帐号正常登陆,用户表t_user 字段有username ,userpass ,q

急救,做的一个系统,登陆权限菜单设置问题
目前能用帐号正常登陆,用户表t_user 字段有username ,userpass ,qx 其它中qx是权限,权限里是文本,如,超级管理员,普通用户,一般用户,我想通过如超级管理员能全部显示菜单,一般用户不能显示部份菜单,如删除员工,修改等,想通过在登陆时验证是一般用户,让其屏蔽删除员工这一菜单,弄了很久没有弄好,其中删除员工这一菜单的NAME是N7,下面是我的代码,请求各位大侠帮忙改一下,如果登陆是管理员就全部不变恢色,如果是一般用户,就让删除员工这一菜单变成恢色不可用,或者修改之类的菜单也变成恢色

procedure TForm16.BitBtn1Click(Sender: TObject);

  var
  results:variant;
  auth_desc:string;
begin
  ADOTable1.Close;
  ADOTable1.Open;
  ADOTable1.Active;

  results:=ADOTable1.Lookup('username',combobox1.text,'userpass');{检索数据库中对应用户名的密码项}
  if adotable1.FieldByName('username').AsString = '' then
  application.MessageBox('用户名不能为空!','提示',mb_ok)

  else if edit2.Text='' then
  application.messagebox('密码不能为空!','警告',mb_ok)
  else
  if results=edit2.Text then
  begin
  auth_desc:=adoquery1.FieldByName('qx').value;
  form16.hide;
  bsmmain.StatusBar1.Panels.Items[1].Text:= ' 当前操作员: '+form16.combobox1.Text;
  bsmmain.ShowModal;
  end

  else
  if strpos(pchar(auth_desc),'普通用户')<>nil then bsmmain.N7.Enabled:=true else bsmmain.N7.Enabled:=false; 
 showmessage('用户不存在或密码错误!');
  combobox1.Visible:=true;
  edit2.Visible:=true;
  edit2.Text:='';
end;
红色这一行设置对吗?应该放在哪?完整的代码应该是怎样,帮忙出个完整代码,本人比较菜,刚接触Delphi7

[解决办法]

SQL code
CREATE TABLE [dbo].[菜单功能表] (    [编号] [int] IDENTITY (1, 1) NOT NULL ,    [功能名称] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,    [I] [smallint] NULL ,    [J] [smallint] NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[权限表] (    [id] [bigint] IDENTITY (1, 1) NOT NULL ,    [登录名] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,    [功能编号] [int] NULL ,    [授权] [bit] NULL ) ON [PRIMARY]GO 

热点排行