回 帖 发 新 帖 刷新版面

主题:帮我看看啊!谢谢各位拉!

timeid:=timeid+1;
  adotable1.Append;
 adotable1.FieldByName('Name').AsString :=user.Text;

 if(user.text=adotable1.fieldbyname('Name').asstring )
     and (password.text=adotable1.fieldbyname('Mima').asstring)
  then
  begin
  Modalresult:=mrOK;
 end
 else
 begin
 if timeid>3 then
 begin
  application.Terminate ;
 end
 else if user.text<>adotable1.FieldByName('Name').asstring then
  begin
   application.MessageBox('非法用户名,请输入正确的用户名!','用户名',
      MB_OK+MB_ICONEXCLAMATION);
   user.SetFocus;
   end
   else
   begin
   application.MessageBox('输入密码错误,请再输入一次','密码',
      MB_OK+MB_ICONEXCLAMATION);
   password.SetFocus;
   end;
   end;
end;
这是一个登陆界面,确定按纽的程序,能帮我看看为什么我每次按确定时,它都会弹出密码错误的对话框
并且不关是错误的用户名还是密码都能进入系统。

回复列表 (共1个回复)

沙发

你的思路错了,我是这样弄的
procedure TloginForm.btn_okClick(Sender: TObject);
var
  userName:String;
  userPassword:String;
begin
  userName:=self.ComboBox_username.Items.Strings[self.ComboBox_username.ItemIndex];
  userPassword:=self.Edit_password.Text;
  self.ADOQuery1.Close;
  self.ADOQuery1.SQL.Clear;
  self.ADOQuery1.SQL.Add('select * from login where name=');
  self.ADOQuery1.SQL.Add(''''+userName+'''');
  self.ADOQuery1.SQL.Add('and password=');
  self.ADOQuery1.SQL.Add(''''+userPassword+'''');
  self.ADOQuery1.Open;
  if not self.ADOQuery1.Eof then
     mainForm.show
  else
    begin
    Showmessage('对不起,您用户名或密码错误,请重新输入!');
    self.Edit_password.SetFocus;
    end;
end;

我来回复

您尚未登录,请登录后再回复。点此登录或注册