AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Verwedung des ErrorCodes
Thema durchsuchen
Ansicht
Themen-Optionen

Verwedung des ErrorCodes

Ein Thema von Ykcim · begonnen am 27. Aug 2008 · letzter Beitrag vom 27. Aug 2008
Antwort Antwort
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
831 Beiträge
 
Delphi 10.4 Sydney
 
#1

Verwedung des ErrorCodes

  Alt 27. Aug 2008, 19:36
Datenbank: MySQL • Version: 5 • Zugriff über: Komponenten
Hallo Zusammen,

ich habe mal eine ganz blöde Frage (habe noch nicht den Durchblick)

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
Patrick
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Verwedung des ErrorCodes

  Alt 27. Aug 2008, 19:39
Nein du bekommst eine leere Datenmenge zurückgeliefert
Markus Kinzler
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
831 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Verwedung des ErrorCodes

  Alt 27. Aug 2008, 19:42
Sorry, das stimmt. Aber wenn ich mit der eventuell erwarteteten Datenmenge, die jetzt 0 ist weiterarbeiten möchte, kommt die Fehlermeldung...
Patrick
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Verwedung des ErrorCodes

  Alt 27. Aug 2008, 19:45
Dann frag dies doch vorher ab (.RecordCount; Schleife; .isNull/,isEmpty)
Markus Kinzler
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
831 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Verwedung des ErrorCodes

  Alt 27. Aug 2008, 19:47
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
Patrick
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Verwedung des ErrorCodes

  Alt 27. Aug 2008, 19:49
Z.B.
Delphi-Quellcode:
while not DataSet.Eof do
begin
   ...
end;
Falls das Dataset leer ist, wird nichts gemacht
Markus Kinzler
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
831 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Verwedung des ErrorCodes

  Alt 27. Aug 2008, 20:05
Hi mkinzler,

ich stelle mich wohl nicht gerade geschickt an...

folgendes habe ich versucht
SQL-Code:
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;
Aber wenn ich das so einstelle, dann läuft er nicht durch die Schleife.

Was mache ich falsch?
Patrick
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Verwedung des ErrorCodes

  Alt 27. Aug 2008, 20:08
While not sqlquery1.Eof do ...
Markus Kinzler
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
831 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Verwedung des ErrorCodes

  Alt 27. Aug 2008, 20:14
PRIMA!!! Jetzt klappt es!

Habe es etwas abgewandelt, weil das Programm sonst die Schleife immer wieder als Endlosschleife durchlaufen ist.
SQL-Code:
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;
Kannst Du mir in einem Satz sagen, was "sqlquery1.Eof" bedeutet?

Vielen Dank für die tolle Hilfe!

Ykcim
Patrick
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Verwedung des ErrorCodes

  Alt 27. Aug 2008, 20:38
EOF steht für End Of File
Also solange Dateiende nicht erreicht ist. Habe nur das sqlquery1.Next vergessen.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:48 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