AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL: Namens u. Passwortabfrage funzt, aber PW ändern nicht.

SQL: Namens u. Passwortabfrage funzt, aber PW ändern nicht.

Ein Thema von LuckyStrike4life · begonnen am 16. Jan 2004 · letzter Beitrag vom 26. Jan 2004
Antwort Antwort
Seite 1 von 2  1 2   
LuckyStrike4life

Registriert seit: 22. Jul 2003
Ort: SN
105 Beiträge
 
Delphi 5 Enterprise
 
#1

SQL: Namens u. Passwortabfrage funzt, aber PW ändern nicht.

  Alt 16. Jan 2004, 13:48
Morgen,
ich hab mich mal rangesetzt und ne Passwortabfrage geschrieben. Hab das ganze Programm + Datenbank als *.rar mal mit Hochgeladen, damit ihr euch das anschaun könnt.

Die Passwortabfrage bezogen auf den jeweiligen Namen geht,
aber ich brauch auch eine Maske, wo man sein PW verändern kann.

Da hab ich mir gedacht es würde funktionieren wenn ich die PW Abfrage mache, und wenn der Query ein Ergebniss erhält - dann wird das neue PW (ausm edit Feld) gleich abgefragt und eingeschrieben.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  pwQuery.Close;
  pwQuery.SQL.Clear;
  pwQuery.SQL.Text :=
  'SELECT * ' + #10 +
  'FROM pw.dbf' + #10 +
  'WHERE Name = :iedName AND' + #10 +
  ' Passwort = :iedPWalt';
  pwQuery.prepare;
  pwQuery.ParamByName('iedName').AsString := edName.text;
  pwQuery.ParamByName('iedPWalt').AsString := edPWalt.text;
  pwQuery.open;
  pwQuery.Active:=True;
if pwQuery.Bof and pwQuery.Eof
 then begin
 application.terminate;
 end
{ else
  pwQuery.edit;
  pwQuery.FieldByName('Passwort').AsString := edPWneu.text;
}
   end;
Ich hab den Code, der den Fehler verursacht mal ausgeklammert.
Delphi gibt ne Fehlermeldung raus,
pwQuery: Eine Datenmenge die nur zum lesen ist, kann nicht verändert werden.

Wie muss ich denn den Code verändern, damit ich das PW auch in der Art ändern kann?

Schaut euch das Programm mal an, ist Delphi 5 Enterp. - ich hoffe ihr könnts öffnen, compilieren, lesen usw... .
Angehängte Dateien
Dateityp: rar passwort_542.rar (273,6 KB, 5x aufgerufen)
- ich kann doch wirklich nichts -
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: SQL: Namens u. Passwortabfrage funzt, aber PW ändern nic

  Alt 16. Jan 2004, 14:07
Hallo,

warum so kompliziert?

Delphi-Quellcode:
  ...
  pwQuery.Close;
  pwQuery.SQL.Text:=
    'UPDATE "t:eDienstreisebuch\pw.dbf"'+#13#10+
    Format('SET Passwort="%s"', [edPWneu.text])+#13#10+
    Format('WHERE (Name="%s") AND (Passwort="%s")', [edName.text, edPWalt.text]);
  pwQuery.ExecSQL;
  ...
  Mit Zitat antworten Zitat
LuckyStrike4life

Registriert seit: 22. Jul 2003
Ort: SN
105 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: SQL: Namens u. Passwortabfrage funzt, aber PW ändern nic

  Alt 16. Jan 2004, 14:38
Hm..

der Code haut nicht hin,
ich bekomm beim Ausführen des Codes immer nur:
Fehler beim Erstellen des Cursor-Handle.
- ich kann doch wirklich nichts -
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#4

Re: SQL: Namens u. Passwortabfrage funzt, aber PW ändern nic

  Alt 16. Jan 2004, 15:08
Mach's mit einer Mischung aus deinem und Gollums Code:
Delphi-Quellcode:
  pwQuery.Close;
  // Die Zeile kannst du dir sparen, da du mit "pwQuery.SQL.Text := ..." den Text komplett überschreibst
  // pwQuery.SQL.Clear;
  pwQuery.SQL.Text :=
  'UPDATE DeineTabelle'+ #10 +
  'SET PassWord = :iNewPassWord' + #10 +
  'WHERE Name = :iUserName';
  pwQuery.prepare;
  pwQuery.ParamByName('iUserName').AsString := edName.Text;
  pwQuery.ParamByName('iNewPassWord').AsString := edPWneu.Text;
  // Da dies keine Abfrage, sondern DML ist, musst du ExecSQL aufrufen
  pwQuery.ExecSQL;
Auch wenn mich so mancher Datasource/TTable-Anhänger jetzt kreuzigen will.
Führe Updates "zu Fuss" aus, in einer Query -> dadurch hast du einfach mehr Kontrolle darüber was wann an den Server geht.

p.s.: Ich bin davon ausgegangen, dass "Name" in der DB eindeutig ist.
  Mit Zitat antworten Zitat
LuckyStrike4life

Registriert seit: 22. Jul 2003
Ort: SN
105 Beiträge
 
Delphi 5 Enterprise
 
#5

Re: SQL: Namens u. Passwortabfrage funzt, aber PW ändern nic

  Alt 26. Jan 2004, 09:35
Delphi-Quellcode:
  pwQuery.Close;
  pwQuery.SQL.Clear;
  pwQuery.SQL.Text :=
  'SELECT * ' + #10 +
  'FROM "t:\edienstreisebuch\pw.dbf"' + #10 +
  'WHERE Name = :iedName AND' + #10 +
  ' Passwort = :iedPWalt';
  pwQuery.prepare;
  pwQuery.ParamByName('iedName').AsString := edName.text;
  pwQuery.ParamByName('iedPWalt').AsString := edPWalt.text;
  pwQuery.open;
  pwQuery.Active:=True;
if pwQuery.Bof and pwQuery.Eof
 then begin
 application.terminate;

end
else

  pwQuery.Close;
  pwQuery.SQL.Text :=
  'UPDATE "t:\eDienstreisebuch\pw.dbf"' + #10 +
  'SET Passwort = :iNewPassWord' + #10 +
  'WHERE Name = :iUserName';
  pwQuery.prepare;
  pwQuery.ParamByName('iUserName').AsString := edName.Text;
  pwQuery.ParamByName('iNewPassWord').AsString := edPWneu.Text;
  pwQuery.ExecSQL;
end;
So gehts nun, juhuu!

Weiß wer wie man normale Editfelder verschlüsselt, ich meine damit - dass die Felder fürs Passwort nicht in Klartext angezeigt werden, jenes wäre wohl sehr hilfreich... . Hm.
- ich kann doch wirklich nichts -
  Mit Zitat antworten Zitat
Schubi

Registriert seit: 4. Nov 2003
Ort: Happurg (Nürnberg)
331 Beiträge
 
Delphi 2006 Professional
 
#6

Re: SQL: Namens u. Passwortabfrage funzt, aber PW ändern nic

  Alt 26. Jan 2004, 09:46
Hm...Entweder du reagierst auf Edit.OnChange und holst den Text in eine Variable, und ersetzt den Text im Edit mit *** oder du nimmst einen Maskedit. Dann musst du dich halt ums Posten und ändern usw selber kümmern
Christian Schubert
Ich fange gerade erst an, den Umfang meiner Ahnungslosigkeit zu begreifen...
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#7

Re: SQL: Namens u. Passwortabfrage funzt, aber PW ändern nic

  Alt 26. Jan 2004, 10:18
Oder noch viel einfacher -> in PasswordChar des Edits mal ein * eintragen
  Mit Zitat antworten Zitat
Schubi

Registriert seit: 4. Nov 2003
Ort: Happurg (Nürnberg)
331 Beiträge
 
Delphi 2006 Professional
 
#8

Re: SQL: Namens u. Passwortabfrage funzt, aber PW ändern nic

  Alt 26. Jan 2004, 10:33
Äh, ja, ich dachte er hatte geschrieben DBEdit. Aber wenn er nen normalen edit hat, kann er den ja durch einen MaskEdit ersetzen, wie ich bereits geschrieben hab. Der normale Edit hat die eigenschaft PasswordChar nämlich nicht
Christian Schubert
Ich fange gerade erst an, den Umfang meiner Ahnungslosigkeit zu begreifen...
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#9

Re: SQL: Namens u. Passwortabfrage funzt, aber PW ändern nic

  Alt 26. Jan 2004, 10:48
Doch hat es...
  Mit Zitat antworten Zitat
LuckyStrike4life

Registriert seit: 22. Jul 2003
Ort: SN
105 Beiträge
 
Delphi 5 Enterprise
 
#10

Re: SQL: Namens u. Passwortabfrage funzt, aber PW ändern nic

  Alt 26. Jan 2004, 10:53
Zitat von GeorgeWNewbie:
Doch hat es...
Thx, das geht!

Sehr schön.
- ich kann doch wirklich nichts -
  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 08:36 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