Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Login mit verschiedenen FORMS (https://www.delphipraxis.net/198964-login-mit-verschiedenen-forms.html)

p80286 16. Dez 2018 11:13

AW: Login mit verschiedenen FORMS
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Query1.SQL.Text:='Select * From USER where user=:user and password=:pass';
  Query1.ParamByName('user').AsString := Edit1.Text;
  Query1.ParamByName('pass').AsString := Edit2.Text;
  Query1.Open
  if not Query1.Eof then
  begin
    case Query1.FieldByName('SECTION').AsString of
       '1' : begin
               self.Hide;
               Form2.Showmodal;
             end;
       '2' : begin
               self.Hide;
               Form3.Showmodal;
             end;
       else
         ShowMessage('Database error: unknown or missing section');
    end;{case------------------------------------------------------} 
  end else
     ShowMessage('Wrong User or Password!');
  Query1.Next;
  if not(Query1.EOF) then
    ShowMessage('Database error: more than one record found');
  Query1.Close;       {-- die Query sauber hinterlassen }
end;
Noch ein paar Kleinigkeiten hinzu gefügt.

Gruß
K-H

scrat1979 16. Dez 2018 14:42

AW: Login mit verschiedenen FORMS
 
Zitat:

Zitat von p80286 (Beitrag 1420970)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Query1.SQL.Text:='Select * From USER where user=:user and password=:pass';
  Query1.ParamByName('user').AsString := Edit1.Text;
  Query1.ParamByName('pass').AsString := Edit2.Text;
  Query1.Open
  if not Query1.Eof then
  begin
    case Query1.FieldByName('SECTION').AsString of
       '1' : begin
               self.Hide;
               Form2.Showmodal;
             end;
       '2' : begin
               self.Hide;
               Form3.Showmodal;
             end;
       else
         ShowMessage('Database error: unknown or missing section');
    end;{case------------------------------------------------------} 
  end else
     ShowMessage('Wrong User or Password!');
  Query1.Next;
  if not(Query1.EOF) then
    ShowMessage('Database error: more than one record found');
  Query1.Close;       {-- die Query sauber hinterlassen }
end;
Noch ein paar Kleinigkeiten hinzu gefügt.

Gruß
K-H

Sicher, dass CASE bei Strings funktioniert?! Ohne es jetzt zu testen denke ich vor kurzem gelesen zu haben, dass es nicht geht.

p80286 16. Dez 2018 19:25

AW: Login mit verschiedenen FORMS
 
Du hast Recht! String geht nicht. Bei Char bin ich mir nicht sicher.

Wenn Section nur numerische Werte enthält, würde ich das sowieso über Integer lösen.

Gruß
K-H

scrat1979 16. Dez 2018 21:05

AW: Login mit verschiedenen FORMS
 
Zitat:

Zitat von p80286 (Beitrag 1420986)
Du hast Recht! String geht nicht. Bei Char bin ich mir nicht sicher.

Wenn Section nur numerische Werte enthält, würde ich das sowieso über Integer lösen.

Gruß
K-H

Jupp, würde es auch über ein Integer lösen :)

DeddyH 16. Dez 2018 21:23

AW: Login mit verschiedenen FORMS
 
Case funktioniert in Delphi nur mit ordinalen Typen (Char gehört auch dazu). Also entweder etwas wie Char oder Integer benutzen oder auf Funktionen wie AnsiIndexText ausweichen, wenn es Strings sein müssen, man aber Case verwenden möchte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:32 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz