Hi,
sorry bin absolut neu in Delphi und kämpfe ein wenig mit
SQL-Statements und deren Ergebnisse.
vlt. hat einer die Lust mir da zu helfen.
Also Ich Programmiere in Delphi X3 mit einer Datenbank in Firebird,
Die Datenbank ist erstmal simpel:
Tabelle 1:
Tbl_filme(ID,Name,Genre)
Tabelle 2:
Tbl_Genre(ID,Bezeichnung)
Soooo...
Wenn ich nun eine normal Abfrage schreibe, die als ergebniss 1 Datensatz hat, ist es relativ einfach:
ADOQuery1.SQL.Add ('Select TBL_Filme.id, tbl_filme.name, tbl_genre.bezeichnung From TBL_Filme JOIN tbl_genre
ON TBL_Filme.genre=tbl_genre.id WHERE tbl_fime.id=1;');
ADOQuery1.Active:=True;
label1.Caption := ADOQuery1.FieldByName('Name').AsString;
....
Wo ich ein Problem habe, ist ich möchte "nur die Namen" aller Filme in eine seperaten ListBox schreiben.
irgendwie mach ich was falsch.
ADOQuery1.SQL.Add ('Select TBL_Filme.id, tbl_filme.name, tbl_genre.bezeichnung From TBL_Filme JOIN tbl_genre
ON TBL_Filme.genre=tbl_genre.id;');
ADOQuery1.Active:=True;
for I := 1 to ADOQuery1.RecordCount do
begin
ListBox1.Items.Add(ADOQuery1.FieldByName('Name').A sString);
ADOQuery1.Recordset.MoveNext;
end;
...
Das ich hier auf dem falschen weg bin, ist mit bewusst.
Also bräuchte mal jemanden der mir erklärt, wie ich mich bei einem Ergebnis durch mehrere Zeilen bzw. Felder bewege.
Die Lösung mit einer DBGrid ist mir bekannt aber nicht gewünscht
möchte schon ein Listenbox-objekt füllen.
mfg
Daniel