![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: Komponenten
Verwedung des ErrorCodes
Hallo Zusammen,
ich habe mal eine ganz blöde Frage (habe noch nicht den Durchblick) :oops: Wenn ich über Delphi eine Abfrage an MySQL gebe, auf die es keine Ergebnisse gibt, bekomme ich natürlich eine Fehlermeldung. Das kann ich aber meines Wissens über eine If-Abfrage, ob der ErrorCode=0 ist umgehen. Kann mir jemand sagen, wie ich den ErrorCode einbinde und damit arbeite? Vielen Dank im Voraus Ykcim |
Re: Verwedung des ErrorCodes
Nein du bekommst eine leere Datenmenge zurückgeliefert
|
Re: Verwedung des ErrorCodes
Sorry, das stimmt. Aber wenn ich mit der eventuell erwarteteten Datenmenge, die jetzt 0 ist weiterarbeiten möchte, kommt die Fehlermeldung...
|
Re: Verwedung des ErrorCodes
Dann frag dies doch vorher ab (.RecordCount; Schleife; .isNull/,isEmpty)
|
Re: Verwedung des ErrorCodes
Anscheinend habe ich mich schlecht ausgedrückt, denn genau wie ich das mache wollte ich wissen. Du hast die Lösung skizziert, kannst Du es für einen Newby etwas ausführlicher machen?
Danke Ykcim |
Re: Verwedung des ErrorCodes
Z.B.
Delphi-Quellcode:
Falls das Dataset leer ist, wird nichts gemacht
while not DataSet.Eof do
begin ... end; |
Re: Verwedung des ErrorCodes
Hi mkinzler,
ich stelle mich wohl nicht gerade geschickt an... folgendes habe ich versucht
SQL-Code:
Aber wenn ich das so einstelle, dann läuft er nicht durch die Schleife.
begin
sqlquery1.sql.Text:=('select LogIn, BenutzerID, AbteilungID, Passwort from Benutzer where LogIn='); sqlquery1.SQL.Add(#39+Benutzername.Text+#39); sqlquery1.Open; while not clientdataset1.eof do begin showmessage(sqlquery1.fieldbyname('Passwort').asstring); if sqlquery1.FieldByName('Passwort').asstring = Passwort.Text then begin showmessage('Passwort Korrekt'); menueunit.BenutzerID:=sqlquery1.fieldbyname('BenutzerID').asinteger; menueunit.AbteilungID:=sqlquery1.fieldbyname('AbteilungID').asinteger; end else showmessage('Benutzername oder Passwort ist nicht korrekt'); end; end; Was mache ich falsch? |
Re: Verwedung des ErrorCodes
Delphi-Quellcode:
While not sqlquery1.Eof do ...
|
Re: Verwedung des ErrorCodes
PRIMA!!! Jetzt klappt es!
Habe es etwas abgewandelt, weil das Programm sonst die Schleife immer wieder als Endlosschleife durchlaufen ist.
SQL-Code:
Kannst Du mir in einem Satz sagen, was "sqlquery1.Eof" bedeutet?
procedure TLogIn.Button1Click(Sender: TObject);
begin sqlquery1.sql.Text:=('select LogIn, BenutzerID, AbteilungID, Passwort from Benutzer where LogIn='); sqlquery1.SQL.Add(#39+Benutzername.Text+#39); sqlquery1.Open; if not sqlquery1.Eof then begin showmessage(sqlquery1.fieldbyname('Passwort').asstring); if sqlquery1.FieldByName('Passwort').asstring = Passwort.Text then begin showmessage('Passwort Korrekt'); menueunit.BenutzerID:=sqlquery1.fieldbyname('BenutzerID').asinteger; menueunit.AbteilungID:=sqlquery1.fieldbyname('AbteilungID').asinteger; end else showmessage('Benutzername oder Passwort ist nicht korrekt'); end; end; Vielen Dank für die tolle Hilfe! Ykcim |
Re: Verwedung des ErrorCodes
EOF steht für End Of File
Also solange Dateiende nicht erreicht ist. Habe nur das sqlquery1.Next vergessen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 Uhr. |
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