AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Tutorial gesucht

SQL Tutorial gesucht

Ein Thema von SKolberg · begonnen am 25. Dez 2004 · letzter Beitrag vom 11. Jan 2005
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von SKolberg
SKolberg

Registriert seit: 20. Dez 2004
Ort: Lingen
150 Beiträge
 
Delphi 2009 Professional
 
#1

SQL Tutorial gesucht

  Alt 25. Dez 2004, 14:48
Hallo,

ich suche ein SQL Tutorial wo die kommandos genau beschrieben sind und wie sie benutzt werden.. Ich arbeite mit Zeos,
scheitere im moment schon bei der useranmeldung:

ich habe ein formular in dem ich mich per Username und passwort anmelden will (die user sind in einer sql tabelle hinterlegt)

in User(TMaskEdit) gebe ich username ein dann in Pass(TMaskEdit) das passwort nach einem klick auf anmelden baut er die verbindung zum sql server auf, nach erfolgreichem verb. aufbau soll er überprüfen ob das passwort zum usernamen passt...

das ist jetzt nur mal son code schnipsel...
Delphi-Quellcode:
procedure TSDIAppForm.ZConnectionAfterConnect(Sender: TObject);
begin
  Connect.Enabled := False;
  Abmelden.Enabled := True;

  begin
    begin
      zquery1.sql.append('Select * from user where Username= ' + user.text);
      zquery1.open;
      end;
      end;

  begin
  //Hauptmenue.ShowModal;
  end;
  end;
Steve Kolberg
  Mit Zitat antworten Zitat
MarkusB

Registriert seit: 3. Apr 2004
Ort: Hamburg
105 Beiträge
 
#2

Re: SQL Tutorial gesucht

  Alt 25. Dez 2004, 16:42
Moin SKolberg!

SQL-Tutorial

Frohe Weihnachten!

Viele Grüße
Markus
  Mit Zitat antworten Zitat
MasterC

Registriert seit: 9. Jan 2004
Ort: Krefeld
369 Beiträge
 
Delphi 2005 Personal
 
#3

Re: SQL Tutorial gesucht

  Alt 25. Dez 2004, 16:51
Auch wenn es mit PHP im Zusammenhang steht: http://schattenbaum.net/php/
Christian H.
www.Future-Coding.de
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.379 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: SQL Tutorial gesucht

  Alt 26. Dez 2004, 08:26
Hi,

schau Dich mal auf meiner Seite um, da gibts 3 SQL-Tutorials für Interbase/Firebird sowie ein ZEOS-Tutorial von Michael....

Grüße
Lemmy
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: SQL Tutorial gesucht

  Alt 27. Dez 2004, 09:38
Hai SKolberg,

dein "Problem" ist die Art wie Du einen String in deiner SQL-Abfrage einbaust. Dies kann von Datenbank zu Datenbank unterschiedlich sein. In der Regel muss der String aber in ' (hochkommas) eingeschlossen sein.

Das sähe dann so aus:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  ZConnection1.Connect;
  ZQuery1.SQL.Text := 'SELECT * FROM user WHERE username = ' + QuotedStr(user.Text);
  ZQuery1.Open;
end;
Du solltest aber sofort anfangen dich an Parameter in den Abfragen zu gewöhnen. Dies macht Dir das Leben um einiges einfacher da Du dich nicht mehr darum kümmern musst das die Werte (ganz hart wird es bei einem Datum) richtig übergeben werden.

Mit Parameter sehe es dann so aus:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ZConnection1.Connect;
  ZQuery1.SQL.Text := 'SELECT * FROM user WHERE username = :name';
  ZQuery1.ParamCheck := True; // Parameter verwenden
  ZQuery1.ParamByName('name').AsString := user.Text; // Parameter mit Wert füllen
  ZQuery1.Open;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von SKolberg
SKolberg

Registriert seit: 20. Dez 2004
Ort: Lingen
150 Beiträge
 
Delphi 2009 Professional
 
#6

Re: SQL Tutorial gesucht

  Alt 5. Jan 2005, 07:57
Hallo und allen ein frohes neues jahr,

danke euch für die zahlreichen Antworten kann das aber erst in ein paar tagen ausprobieren da ich mein Notebook erst neu installieren muss, melde mich sobald es klappt, oder auch nicht.

Mfg, Steve
Steve Kolberg
  Mit Zitat antworten Zitat
Benutzerbild von SKolberg
SKolberg

Registriert seit: 20. Dez 2004
Ort: Lingen
150 Beiträge
 
Delphi 2009 Professional
 
#7

Re: SQL Tutorial gesucht

  Alt 11. Jan 2005, 11:21
hallo,
so weit funktioniert alles ganz gut aber ich verstehe einen fehler nicht... ich habe einige testbenutzer eingerichtet:

user passwort

admin test0
marketing test1
bearbeiter test2
betrachter test3

falls aber 2 benutzer genau das gleiche passwort haben bekomme ich bei beiden die meldung benutzername falsch, kann das aber nicht nachvollziehen da es doch eigentlich egal sein sollte und er nur überprüft ob die eingaben übereinstimmen..

Delphi-Quellcode:
procedure TSDIAppForm.ZConnectionAfterConnect(Sender: TObject);
begin
  Connect.Enabled := False;

  begin
    begin
  ZConnection1.Connect;
  ZQuery1.SQL.Text := 'SELECT * FROM user WHERE username = ' + QuotedStr(user.Text);
  ZQuery1.Open;
      end;
  ZConnection1.Connect;
  ZQuery1.SQL.Text := 'SELECT * FROM user WHERE userpasswd = ' + QuotedStr(pass.Text);
  ZQuery1.Open;
      end;

      if user.Text = (ansilowercase(username.text)) then
  begin
      if pass.Text = Passwort.Text then
      Hauptmenue.ShowModal
      else
      MessageBox(self.Handle, 'Passwort falsch, bitte überprüfen Sie ihre Angaben!', 'Fehler!', 48 or MB_OK);
      pass.clear;
      user.Clear;
  end
  else
  MessageBox(self.Handle, 'Benutzername falsch, bitte überprüfen Sie ihre Angaben!', 'Fehler!', 48 or MB_OK);
  user.clear;
  pass.Clear;
  end;
vielen dank im voraus, Steve
Steve Kolberg
  Mit Zitat antworten Zitat
Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#8

Re: SQL Tutorial gesucht

  Alt 11. Jan 2005, 11:40
Zitat von SKolberg:
falls aber 2 benutzer genau das gleiche passwort haben bekomme ich bei beiden die meldung benutzername falsch, kann das aber nicht nachvollziehen da es doch eigentlich egal sein sollte und er nur überprüft ob die eingaben übereinstimmen..

Delphi-Quellcode:
procedure TSDIAppForm.ZConnectionAfterConnect(Sender: TObject);
begin
  Connect.Enabled := False;

  begin
    begin
  ZConnection1.Connect;
  ZQuery1.SQL.Text := 'SELECT * FROM user WHERE username = ' + QuotedStr(user.Text);
  ZQuery1.Open;
      end;
  ZConnection1.Connect;
  ZQuery1.SQL.Text := 'SELECT * FROM user WHERE userpasswd = ' + QuotedStr(pass.Text);
  ZQuery1.Open;
      end;
Naja, das ist auch etwas unsinnig, wenn ich so sagen darf.

Warum machst Du das nicht so:

Delphi-Quellcode:
ZQuery1.SQL.Text := 'SELECT * FROM user WHERE username = :name AND userpasswd = :pass';
ZQuery1.ParamByName('name').AsString:=user.Text;
ZQuery1.ParamByName('pass').AsString:=pass.Text;
ZQuery1.Open;
Und fragst dann ab, ob ZQuery1.RecordCount > 0 ist - dann hat er nämlich einen User mit der eingegebenen Username/Passwort-Kombination gefunden.

Viele Grüße
Igotcha
  Mit Zitat antworten Zitat
Benutzerbild von SKolberg
SKolberg

Registriert seit: 20. Dez 2004
Ort: Lingen
150 Beiträge
 
Delphi 2009 Professional
 
#9

Re: SQL Tutorial gesucht

  Alt 11. Jan 2005, 11:50
danke funktioniert super,
wo hatte ich denn jetzt aber meinen fehler??
Steve Kolberg
  Mit Zitat antworten Zitat
Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#10

Re: SQL Tutorial gesucht

  Alt 11. Jan 2005, 12:54
Zitat von SKolberg:
danke funktioniert super,
wo hatte ich denn jetzt aber meinen fehler??
Naja, das war alles irgendwie Kuddelmuddel

Der hast einen viel zu komplizierten Ansatz genommen. Die Frage, die zu beantworten ist ist doch: "Gibt es einen User mit einer bestimmten Benutzername/Passwort-Kombination?"

Wie du siehst, reichen dazu meine 4 Zeilen aus, um diese Frage zu beantworten.

if pass.Text = Passwort.Text Wo kommt denn Passwort.Text her?

Und benutze bitte in Zukunft die "ParamByName"-Methode. Das erspart Dir viel Ärger beim Zusammenbasteln von SQL-Strings

Viele Grüße
Igotcha
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 Uhr.
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