FrmLogin.ADOQuery.SQL.Add('select * from Priority where username='''+UserNameEdit.Text+''' AND kinds='''+UserKindBox.Text+'''');
     try
       FrmLogin.ADOQuery.Open;
     except
       Showmessage('数据库打开失败!');
     end ;
     pwd:=FrmLogin.ADOQuery.FieldValues['password'];
     //Showmessage(pwd+PwdEdit.Text);
     s1:=PwdEdit.Text;
     if pwd<>s1 then
     begin
         Showmessage('登陆失败!');
     end
     else
        MainForm.ShowModal();
PwdEdit里填的是用户密码,
FrmLogin.ADOQuery.FieldValues['password'];数据库中的密码.类型varchar(SQLSERVER)长度50
两个设置时均填hawk
但就是显示登陆失败

解决方案 »

  1.   

    s1:=PwdEdit.Text;
    =========================
    s1:=trim(PwdEdit.Text);//防止不小心在前后加了空格你取的pwd值与PwdEdit.Text是相等的吗?
      

  2.   

    pwd:=FrmLogin.ADOQuery.Fieldbyname('password').asstring;
      

  3.   

    //Showmessage(pwd+PwdEdit.Text);在这里能显pwd吗?改一下试试:
    pwd:=FrmLogin.ADOQuery.FieldValues['password'];改成
    pwd:=VarToStrDef(FrmLogin.ADOQuery.FieldValues['password'], '');或
    pwd:=FrmLogin.ADOQuery.FieldByName('password').AsString;试一下;
    若用Trim,若密码前后都有空格则不能正确