AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Endlos Schleife

Ein Thema von ngott2 · begonnen am 18. Dez 2013 · letzter Beitrag vom 18. Dez 2013
Antwort Antwort
Seite 1 von 2  1 2      
ngott2

Registriert seit: 26. Aug 2013
81 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Endlos Schleife

  Alt 18. Dez 2013, 15:03
Hallo, liebe Community.
Ich habe eine Schleife gebaut die aus irgend einem Grund eine Endlosschleife ist.
Die Bedingung bei einer While Schleife geht. Aber er muss leider mindestens einmal Durchlaufen.
Habe ich irgendwo einen Denkfehler.


Code:
repeat
    DokumentID.ID := Query.FieldByName('DID').AsInteger;  // DID =DocumentID
    DokumentID.ID := Query.FieldByName('CID').AsInteger; // CID = CompanyID
    Result.Add(DocumentID);
    query.Next
  until (not query.Eof);
Hier ist noch meine Sql Anweisung
Code:
Query.SQL.Text := 'Select ID As DID ,CompanyID As CID from [Document] Where Status = 1 and LoadForEmployee = false Order By CompanyID';
Danke im Voraus.
  Mit Zitat antworten Zitat
Mikkey

Registriert seit: 5. Aug 2013
265 Beiträge
 
#2

AW: Endlos Schleife

  Alt 18. Dez 2013, 15:05
nehme ein "not" heraus, dann wird ein Schuh draus
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#3

AW: Endlos Schleife

  Alt 18. Dez 2013, 15:07
Zitat:
until (not query.Eof);
Ob das so stimmt?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Endlos Schleife

  Alt 18. Dez 2013, 15:07
until (query.Eof); Bei einem oder keinem Eintrag wird das sonst zu einer Endlosschleife.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

AW: Endlos Schleife

  Alt 18. Dez 2013, 15:10
Wobei ich mich frage, ob der Fußschleifenansatz generell richtig sein kann. Was sollen denn die Felder enthalten, wenn die Datenmenge leer ist?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Mikkey

Registriert seit: 5. Aug 2013
265 Beiträge
 
#6

AW: Endlos Schleife

  Alt 18. Dez 2013, 15:10
nehme ein "not" heraus, dann wird ein Schuh draus


edit:

Besser:

Delphi-Quellcode:
var fldDID, fldCID: TField;
...
    fldDID := Query.FieldByName('DID'); // DID =DocumentID
    fldCID := Query.FieldByName('CID'); // CID = CompanyID
    repeat
      DokumentID.ID := fldDID.AsInteger; // DID =DocumentID
      DokumentID.ID := fldCID.AsInteger; //<== dies ist dasselbe Feld/Property, gewollt?????
      Result.Add(DocumentID);
      query.Next
    until query.EOF;
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: Endlos Schleife

  Alt 18. Dez 2013, 15:11
Wobei ich mich frage, ob der Fußschleifenansatz generell richtig sein kann. Was sollen denn die Felder enthalten, wenn die Datenmenge leer ist?
Vielleicht ist die Datenmenge per Definition nicht leer. Was durchaus woanders bereits abgefragt werden könnte, weil sonst die Ausführung des gesamten Programms keinen Sinn macht.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#8

AW: Endlos Schleife

  Alt 18. Dez 2013, 15:12
Wenn die Datenmenge generell nicht leer ist, wird sie auch mit einer Kopfschleife mindestens einmal durchlaufen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: Endlos Schleife

  Alt 18. Dez 2013, 15:15
Wenn die Datenmenge generell nicht leer ist, wird sie auch mit einer Kopfschleife mindestens einmal durchlaufen
Stimmt. Dann vielleicht ..... Trigger? Stored Procs? Entführung von einem Alien? ...
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Endlos Schleife

  Alt 18. Dez 2013, 15:27
Ich würde bevor ich zu einem Alien greifen würde, lieber eine while-Schleife draus machen...
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:42 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