Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   SQL Ergebnis in Stringliste - Fehlersuche (https://www.delphipraxis.net/159927-sql-ergebnis-stringliste-fehlersuche.html)

fillibuster 19. Apr 2011 08:40

Datenbank: MySQL • Version: 5.x • Zugriff über: Unidac

SQL Ergebnis in Stringliste - Fehlersuche
 
Hallo,

ich habe hier eine fehlerhafte Prozedur, aber ich finde den Fehler nicht:
Delphi-Quellcode:
procedure TForm2.Button3Click(Sender: TObject);
var
i:           integer;
sl:  TStringlist;
begin
  sl:=TStringlist.create;
  if query.Active then query.Active := false;
  for i := 0 to Listbox1.items.count - 1 do
  begin
    query.SQL.Text := 'SELECT article_id FROM translations where name=:name';
    query.ParamByName('name').AsString := listbox1.items[i];
    query.Open;
    while not query.eof do
    begin
      Sl.Add(query.FieldByName('article_id').AsString);
      query.next;
    end;
    query.Close;
    ShowMessage(intToStr(sl.count));//Einmal 874 und einmal 946
  end;
  ShowMessage(intToStr(sl.count));//946
  sl.Free;
end;
In der Listbox sind 2 Einträge, allerdings werden die Ergebnisse nicht alle in die Stringliste geschrieben, nur die von dem letzten Listboxeintrag? Wo wird diese zurückgesetzt :gruebel:.

Viele Grüße ...

Hilfe ...

DeddyH 19. Apr 2011 08:58

AW: SQL Ergebnis in Stringliste - Fehlersuche
 
Wirkliche Fehler kann ich auch nicht entdecken. Hast Du einmal einen Breakpoint gesetzt und geschaut, was übergeben wird und was zurückkommt? Stimmt die Schreibweise überein? Evtl. gibt es ja keine Entsprechung in der DB zum ersten Listbox-Item.

ibp 19. Apr 2011 09:02

AW: SQL Ergebnis in Stringliste - Fehlersuche
 
Debugge doch mal die Prozedur. Ich gehe davon aus das die Ergebnismenge aus dem ersten Lisboxeintrag leer ist.

DeddyH 19. Apr 2011 09:03

AW: SQL Ergebnis in Stringliste - Fehlersuche
 
Meine Rede :zwinker:

fillibuster 19. Apr 2011 09:07

AW: SQL Ergebnis in Stringliste - Fehlersuche
 
OK,

der Fehler ist an einer anderen Stelle :oops:. Die Funktion ist korrekt.

Viele Grüße ....


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:49 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