急救,做的一个系统,登陆权限菜单设置问题
目前能用帐号正常登陆,用户表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