我做的登录界面没设定权限就能成功 ,sql表中的权限字段为qx,现在需要设定权限为a是mainform中N4.Enabled:=false; 
主要问题在if adoquery1.fieldbyname('qx').AsString='b' thenmainform.Form2.N4.Enabled:=false;
一旦加上设定权限代码就不行了,请各位帮忙改下,先谢谢了!
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if (edit2.Text='') or (edit1.Text='') then
begin
showmessage('您的用户名或密码不能为空,请重新输入!');
edit2.SetFocus;
endelse
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from denglu where yhm=:yhm and mm=:mm ');
adoquery1.Parameters.ParamByName('yhm').Value:=edit2.Text;
adoquery1.Parameters.ParamByName('mm').Value:=Edit1.Text;
adoquery1.Open;
 
if  adoquery1.RecordCount<>0 then
begin
//mainform.username:=edit2.Text;
//mainform.password:=Edit1.Text;
//if adoquery1.fieldbyname('qx').AsString='b' then
//begin
//mainform.Form2.N4.Enabled:=false;
//end;
showmessage('成功登录');
mainform.Form2.ShowModal;
denglu.Form1.Hide;
end;if  adoquery1.RecordCount=0 then
begin
showmessage('您的用户名或密码不正确,请重新输入!');
edit2.Text:='';
edit1.Text:='';
edit2.SetFocus;
end;
end;
end;

解决方案 »

  1.   

    不行是指无法编译,还是运行出错,还是目的没达到?
    现象要说的清楚一些mainform.Form2.比较奇怪,form2是一个嵌套在主form里的一个form?
    N4是指菜单项?
      

  2.   

    mainform.Form2  ?这是什么,两个窗体?
      

  3.   

    加上注释的语句也可以登录进去,但是mainform的菜单N4并没有显灰
    mainform就是form2,因为我保存form2的时候名字为mainform.pas所以要在mainform后加上form2才能执行语句。
      

  4.   

    是不是在form1里面没有uses mainform?
    试试在implementation下面添加uses mainform,然后代码改为mainform.N4.Enabled:=false;