procedure Tfrmlogin.btnloginClick(Sender: TObject);
var
  str:string;
begin
  if Trim(edtUserid.Text)='' then
     begin
       showmessage('用户代码不能为空');
       abort;
     end;
  if Trim(edtpassword.Text)='' then
     begin
       showmessage('用户密码不能为空');
       abort;
     end;  str:='select * from userdoss';
  str:=str+' where userid='''+Trim(edtUserid.Text)+'''';
  str:=str+' and password='''+Trim(edtpassword.Text)+'''';
  try
    with dm.adoqrylogin do
         begin
           close;
           sql.Clear;
           sql.Add(str);
           open;
         end;
         if dm.adoqrylogin.RecordCount<1 then
            begin
              i:=i+1;
              if i<=3 then
                 begin
                    showmessage('用户ID或密码错误,请重新输入!!');
abort;
                 end
              else
                 begin
                   showmessage('非法用户!'+#13+'程序将终止');
                   abort;
                 end;
            end            else
            begin
              w_sysfun.userid:=Trim(edtUserid.Text);
              w_sysfun.password:=Trim(edtpassword.Text);
              w_sysfun.username:=Trim(dm.adoqrylogin.fieldbyname('username').AsString);
              frmlogin.Hide;
              erpmain.Show;
            end;
  finally
    dm.adoqrylogin.Free;
  end;
end;
请问在上面代码中,如果输入了用户名和密码,但不正确,这时用语句:
                   showmessage('用户ID或密码错误,请重新输入!!');
                   abort;
则重新输入用户名和密码后再提交时,这时就会报错,请问应如何修改?谢.