Entschuldigt bitte, aber ich habe die ganze Sache noch nicht so wirklich verstanden.
Meine Prozedur für sieht folgendermassen aus:
Delphi-Quellcode:
procedure Tfrm_Login.btnloginClick(Sender: TObject);
var
UsernamePasswordString: String;
MD5Hash: String;
Username: String;
MD5DigestVar: MD5Digest;
Result: Integer;
begin
{Begin turn password to MD5 Hash}
UsernamePasswordString := edtusername.Caption + edtpassword.Caption +
edtusername.Caption + edtpassword.Caption +
edtusername.Caption + edtpassword.Caption;
MD5DigestVar := UMD5.MD5String(UsernamePasswordString);
MD5Hash := UMD5.MD5Print(MD5DigestVar);
{End turn password to MD5 Hash}
Username := edtusername.Caption;
if (Username = '') or (MD5Hash = '') then
begin
WebApplication.ShowMessage('Benutzername oder Passwort eingeben');
Exit;
end;
{Begin check database for username andpassword}
ADOQuery_WebinterfaceUser.Open;
// Result := ?
if not Result = 0 then
begin
{Start page load}
if WebApplication.FindComponent('frm_Main') <> nil then
begin
TIWAppForm(WebApplication.FindComponent('frm_Main')).Show;
end else
begin
Tfrm_Main.Create(WebApplication).Show;
end;
Release;
{End page load}
end;
{End check databse for username and password}
end;
ADOQuery_WebinterfaceUser.Open;
^^ hiermit wird folgende Abfrage abgesetzt:
SQL-Code:
SELECT COUNT (*)
FROM WebinterfaceUser
WHERE Username = :Username
AND MD5Hash = :MD5Hash;
Wenn Datensätze gefunden werden, bekomme ich irgendwo (aber wo genau?) einen Integer mit dem Wert 1 (falls etwas gefunden wurde, mehr als einen Datensatz mit den eingegebenen Daten wird es ja nie geben) oder 0 (wenn keiner gefunden wird), zurück.
Mir fehlt jetzt einfach die Zuordnung zu der Vaiable "Result".