2,507
社区成员
发帖
与我相关
我的任务
分享
procedure TForm2.Button1Click(Sender: TObject);
var user,pass,temp:string;
begin
user:=Edit1.Text;
pass:=Edit2.Text;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from 用户表 where 用户名='+#39+'+user+#39+'and 密码='+#39+pass+#39;
Adoquery1.Open;
if Adoquery1.RecordCount>0 then
begin
Form1.Button1.Enabled:=false;
Form1.Button2.Enabled:=false;
Form1.N1.Enabled:=false;
Form1.N2.Enabled:=false;
Form1.N3.Enabled:=false;
Form1.N4.Enabled:=false;
Form1.N5.Enabled:=false;
Form1.N6.Enabled:=false;
Form1.N7.Enabled:=false;
Form1.N8.Enabled:=false;
temp:=adoquery1.FieldByName('权限').AsString;
if temp='管理员' then
begin
Form1.N1.Enabled:=true;
Form1.N2.Enabled:=true;
Form1.N3.Enabled:=true;
Form1.N4.Enabled:=true;
Form1.N5.Enabled:=true;
Form1.N6.Enabled:=true;
Form1.N7.Enabled:=true;
Form1.N8.Enabled:=true;
end;
if temp='教师' then
Form1.Button1.Enabled:=true;
if temp='学生' then
Form1.Button2.Enabled:=true;
Form1.Visible:=true;
Form2.Hide;
end
else
ShowMessage('用户名或密码错误,请检查后重新登录');
end;procedure TForm2.Button1Click(Sender: TObject);
var user,pass,temp:string;
begin
//------------------根据用户输入的密码和帐号进行查询----------
//保存用户输入的帐号和密码
user:=Edit1.Text;
pass:=Edit2.Text;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from 用户表 where 用户名='''+user+'''and 密码='''+pass+'''';
Adoquery1.Open;
temp:=adoquery1.FieldByName('编号').AsString;
if temp<>'' then
//如果输入了正确的用户名和密码,那么必然能查到用户编号,否则结果为空
begin
//---------------根据用户获得的权限来确定能否操作相关窗口-----------------------
//先将所有按钮使能都设为否
Form1.Button1.Enabled:=false;
Form1.Button2.Enabled:=false;
Form1.N1.Enabled:=false;
Form1.N2.Enabled:=false;
Form1.N3.Enabled:=false;
Form1.N4.Enabled:=false;
Form1.N5.Enabled:=false;
Form1.N6.Enabled:=false;
Form1.N7.Enabled:=false;
Form1.N8.Enabled:=false;
adoquery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from 权限清单 where 用户名='''+temp+'''and 权限名称=''管理员''';
Adoquery1.Open;
if adoquery1.FieldByName('权限序号').AsString<>'' then
Form1.N1.Enabled:=true;
Form1.N2.Enabled:=true;
Form1.N3.Enabled:=true;
Form1.N4.Enabled:=true;
Form1.N5.Enabled:=true;
Form1.N6.Enabled:=true;
Form1.N7.Enabled:=true;
Form1.N8.Enabled:=true;
adoquery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from 权限清单 where 用户名='''+temp+'''and 权限名称=''教师''';
Adoquery1.Open;
if adoquery1.FieldByName('权限序号').AsString<>'' then
Form1.Button1.Enabled:=true;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from 权限清单 where 用户名='''+temp+'''and 权限名称=''学生''';
Adoquery1.Open;
if adoquery1.FieldByName('权限序号').AsString<>'' then
Form1.Button2.Enabled:=true;
Form1.Visible:=true;
Form2.Hide;
end
//---------登录失败,提示用户重新输入----------------------------------
else begin
ShowMessage('用户名或密码错误,请检查后重新登录');
end;
end;修改代码,试试。