if (self.ADOQuery1.RecordCount=0) then
   showmessage('用户名密码错误')
else
  begin
  self.Button4.Enabled:=true;
  if (self.ADOQuery1.FieldByName('pow').AsString='a') then  <------一直不能进入这个if里面
    begin
     self.Button1.Enabled:=true;
     self.Button2.Enabled:=true;
     self.Button3.Enabled:=true;
     self.ADOTable1.Active:=true;
    end;
  if (self.ADOQuery1.FieldByName('pow').AsString='b') then
    begin
     self.Button1.Enabled:=true;
     self.Button2.Enabled:=true;
     self.ADOTable1.Active:=true;
    end;
  end;

解决方案 »

  1.   

    你这个好像没有循环啊,一直是读取的一条记录啊,而且这个记录不满足第二个if的条件不知道你是不是想循环查询表中有没有满足条件的记录,如果是的话,你需要循环
    while not self.adoquery1.eof do
    begin
      ....//那些条件判断的处理
      self.adoquery1.next;
    end;
      

  2.   

    if (self.ADOQuery1.RecordCount=0) then
      showmessage('用户名密码错误') 此处改为:
    if (self.ADOQuery1.RecordCount<1) then
      showmessage('用户名密码错误')