hiermit Zeigt er mir nun das ergebnis richtig an also listet alle auf, jedoch springt er gar nicht mehr aus der Funktion raus.
Delphi-Quellcode:
procedure TfrmArtikelkategorien.selectArtikel(kat_id:
string; myKats: Tstringlist;zaehler:integer);
var
subquery :
string;
query : Tadsquery;
i: Integer;
begin
query := Tadsquery.Create(self);
try
query.AdsConnection := con_dynkat;
query.DatabaseName := '
con_dynkat';
query.Close;
query.SQL.Clear;
query.SQL.Add('
select kat_id from dyn_kat where parent_id ='+kat_id+'
');
query.Open;
if query.RecordCount > 0
then
begin
while not Query.eof
do
begin
if myKats.IndexOf(
Query['
kat_id'])=-1
then
begin
myKats.add(
Query['
kat_id']);
//selectArtikel(Query['kat_id'], myKats);
end;
query.next;
end;
for i := zaehler
to mykats.Count - 1
do
begin
selectArtikel(mykats[i], myKats,zaehler+1);
end;
end;
finally
query.Free;
end;
for i := 0
to mykats.Count - 1
do
begin
showmessage(myKats[i]);
end;
//wieso hört er nicht hier auf wenn er fertig ist ?
//Exit; führt auch nich zum erfolg ?
end;