Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi [Newbi.Question] Paradox 7 mit Query Befehl (https://www.delphipraxis.net/103319-%5Bnewbi-question%5D-paradox-7-mit-query-befehl.html)

f4k3 14. Nov 2007 10:47

Datenbank: Paradox • Version: 7 • Zugriff über: BDE

[Newbi.Question] Paradox 7 mit Query Befehl
 
Moin Moin liebe DP'ler ;),

Hab folgedes Problem ... aber dazu möchte ich euch noch schnell den Programm Screen zeigen ;)

Screen


Das Programm verwendet eine Paradox 7 Datenbank ... auf meinem "Formular" liegen natürlich eine TTable- und eien TDataSource-Komponente ... die mir den Zugriff auf die Datenbank ermöglichen ...

Der rot umrandete Bereich ist ein frame ... in diesem frame spielt sich die Anmeldung ab ...
Ich möchte den eingegebenen Benutzername + Kennwort über eine SQL-Abfrage machen ...

Leider hab ich von SQL keine Ahnung :P

Ich steh vor dem Problem dass ich ...

1. gar nicht weiß ob ich das mit ner SQL-Abfrage lösen kann, weil ich nicht weiß wie man bei ner SQL-Abfrage nen "True" wert zurück gibt ...

2. Wie diese SQL-Abfrage aussehen müsste ...

-------

Ich hätte natürlich ne Alternative ...

Delphi-Quellcode:
procedure Tframe_Anmeldung.iAnmeldenClick(Sender: TObject);
begin

        if fHauptprogramm.TBenutzer.FieldByName('Benutzername').AsString = eBenutzername.Text then
        begin

              if fHauptprogramm.TBenutzer.FieldByName('Kennwort').AsString = eKennwort.Text then
              begin

                    ShowMessage('!! Anmeldung erfolgreich !!');

              end;
        end

        else
        begin

              ShowMessage('!! Anmeldung fehlgeschlagen !!');

        end;
end;
wenn ich SQL verwenden könnte würde der code in etwa so aussehen ... rest fehlt noch :P

SQL-Code:
SELECT Benutzername, Kennwort
FROM Benutzer
Where (pseudocode: eBenutzername.text + eKennwort.text = true)

kann mir da jemand weiter helfen?
-> totaler SQL-Newbi ^^

Vielen Dank für eure Hilfe ... Euer f4k3

//edit 11:50

Bei SQL-Abfrage rede ich natürlich von Query-Abfragen ^^ ;) thX

DeddyH 14. Nov 2007 10:58

Re: [Newbi.Question] Paradox 7 mit Query Befehl
 
Geh das mal anders an (Pseudo-SQL):
SQL-Code:
SELECT COUNT(*) AS Treffer
FROM Tabelle
WHERE Benutzername = eingegebener_Benutzername
AND Passwort = eingegebenes_Passwort
Wenn Du als "Treffer" eine Zahl > 0 zurückbekommst, ist das eine gültige Anmeldung ;)

f4k3 14. Nov 2007 12:31

Re: [Newbi.Question] Paradox 7 mit Query Befehl
 
SQL-Code:
SELECT COUNT(*) AS Treffer
SELECT COUNT?

Mit SELECT <feldnamen> teile ich doch mit in welches Feld ich kucken möchte?! oder is des ne art sonderfunktion?

und was teilt mir (*) mit?

AS Treffer kapier ich ja noch :P ... aber alles was davor kommt erscheint mir doch ein gewisses rätsel ...

Wenn ich den Code so ausführe ...

SQL-Code:
SELECT COUNT (*) AS Treffer
FROM Benutzer
Where Benutzername (eBenutzername.Text)
AND Kennwort (eKennwort.Text)
bekomm ich ne Fehlermeldung ...

Fehlermeldung

Irgend ne idee?

thX

mkinzler 14. Nov 2007 12:43

Re: [Newbi.Question] Paradox 7 mit Query Befehl
 
SQL-Code:
SELECT
    COUNT (*) AS Treffer
FROM
    Benutzer
Where
    Benutzername = :benutzer AND
    Kennwort = :kennwort;
Delphi-Quellcode:
Query.ParamByName.Value := eBenutzername.Text;
Count gibt die anzahl der Datensätze zurück.

f4k3 14. Nov 2007 12:58

Re: [Newbi.Question] Paradox 7 mit Query Befehl
 
Achso ... oke danke für die Info ;)

Also habs etz nach deiner weiße gemacht ...
d.h. in den Query folgendes eingetragen ...

SQL-Code:
SELECT
    COUNT (*) AS Treffer
FROM
    Benutzer
Where
    Benutzername = :benutzer AND
    Kennwort = :kennwort;
und in den Delphi-Source von meinem frame ... das hier ...

Delphi-Quellcode:
procedure Tframe_Anmeldung.iAnmeldenClick(Sender: TObject);
begin


fHauptprogramm.QueryBenutzer.ParamByName.Value := eBenutzername.Text;
fHauptprogramm.QueryBenutzer.ExecSQL;


end;
kann aber leid nicht compiled werden ... wie du an dieser Fehlermeldung sehen wirst ...

[Pascal Fehler] frame_sideframe.pas(52): E2035 Nicht genügend wirkliche Parameter

marabu 14. Nov 2007 13:04

Re: [Newbi.Question] Paradox 7 mit Query Befehl
 
Hi,

Delphi-Quellcode:
fHauptprogramm.QueryBenutzer.ParamValues['benutzer'] := eBenutzername.Text;
Grüße vom marabu

mkinzler 14. Nov 2007 13:10

Re: [Newbi.Question] Paradox 7 mit Query Befehl
 
sorry hat da was vergessen
Delphi-Quellcode:
Query.ParamByName('benutzer').Value := eBenutzername.Text;
es fehlt auch noch der 2. Parameter und .ExecSQL() liefert kein Ergebnis -< .Open()

f4k3 14. Nov 2007 13:26

Re: [Newbi.Question] Paradox 7 mit Query Befehl
 
lol ... omg ich peil da gar nix mehr ... :P

Also wo füg ich diese zeile ein? is ja eigentlich wurcht ob ich die von meiner frame_Anmeldung.pas oder ob ich den code in mein fHauptprogramm.pas
in das FormCreate Ereignis einfüg oder?

Ich bekomm nämlich die Fehlermeldung ... die übrigens sehr detailiert is ^^ ...

QueryBenutzer: Paramater 'Benutzer' nicht gefunden.

diese :Benutzer liefern was?

vllt. hab ich da den Fehler ^^

weil ich geh mal davon aus ... dass das meine Felder sind oder?

mkinzler 14. Nov 2007 13:39

Re: [Newbi.Question] Paradox 7 mit Query Befehl
 
Ist ein SQL-Parameter, welcher dann gefüllt wird.

f4k3 14. Nov 2007 14:01

Re: [Newbi.Question] Paradox 7 mit Query Befehl
 
mhm nya ... ich kriegs jedenfalls nicht zum laufen ...

danke für euere bemühungen ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr.
Seite 1 von 2  1 2      

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