Я добавил еще одну проверку, если пользователь активен. Но это не работает нормально.
function UserCheck(Login, pw: string): boolean;
begin
with DM do
begin
AQ_LOGIN.Close;
AQ_LOGIN.SQL.Clear;
AQ_LOGIN.SQL.Add('select COUNT(*) from BENU where BLOGIN = ''Login'' AND BPW = ''pw'' AND AKTIV = 1');
AQ_LOGIN.Open;
Result := (AQ_LOGIN.RecordCount > 0);
AQ_LOGIN.Close;
end;
end;
Здесь я использую функцию:
procedure TBenu_Login_Form.btnLoginClick(Sender: TObject);
var pwhashed: string;
begin
pwhashed := MD5Print(MD5String(edtBPass.Text));
if UserCheck(meBLogin.Text, pwhashed) then
ShowMessage('User exists, Password is fine and active!')
else
ShowMessage('User does not exist, Password is wrong or not active!');
end;
Хотелось бы знать, почему это не работает как намерение. Он всегда возвращает UserCheck true, никогда не false, когда я, например, введите несуществующее имя пользователя.