Einzelnen Beitrag anzeigen

Peter-Pascal

Registriert seit: 18. Feb 2007
Ort: 32139 Spenge
197 Beiträge
 
Delphi 11 Alexandria
 
#1

Iteration durch Datenmengen mit for-Anweisungen

  Alt 12. Nov 2022, 14:10
Datenbank: SQlite • Version: 3.0 • Zugriff über: Firedac
Hallo,
bei mir klappt die Iteration durch Datenmengen nicht, obwohl es laut DelpheHilfe funktionieren soll:

Delphi-Quellcode:
[B]Iteration durch Datenmengen mit for-Anweisungen[/B]
Delphi unterstützt die for-in-Syntaxkonstruktion für die Iteration durch Datenmengen. Der Compiler erkennt das folgende Iterationsmuster für Datenmengen:

for Record in Dataset do Smth;
wobei Record die TDataSet-API repräsentiert. Record kann problemlos mit Datenmenge gleichgesetzt werden.

Im folgenden Codefragment wird durch eine Datenmenge in Delphi iteriert. Der Beispielcode zeigt, wie die Werte der Spalte "Name" in ein Memo-Steuerelement ausgegeben werden.

var
 ds: TDataSet;
//
FQuery1.SQL.Text := 'SELECT Name FROM Table1';
Memo1.Lines.Clear;
for ds in FDQuery1 do
  Memo1.Lines.Add(ds.FieldByName('Name').AsString);
Mein Code sieht so aus:
Delphi-Quellcode:
function TDataModuleEBilanz.buildTaxVersionRecordListe: TTaxVersionRecordListe;
var
  DS: TDataSet;
begin
  Result:= TTaxVersionRecordListe.create;

  FDQuery1.Open('select * from Taxonomie');

  for DS in FDQuery1.GetRow() do
  begin
    showmessage(DS.FieldByName('Version').AsString)
  end;
end;
Klar geht es auch anders, aber es wäre so schöner und einfacher. Und wenns in der Hilfe steht, frage ich mich, warum es bei mir nicht funktioniert.

Vielen Dank für eure Hilfe

Gruß Peter

Ps.: ich weißt nicht, ob das Thema hier überhaupt hingehört
Peter Niemeier
  Mit Zitat antworten Zitat