Es kommt grds. darauf an, was Dein Programm machen soll.
Beispiel:
Du möchtest 2 Listviews mit Tabelleneinträgen füllen.
Dann reicht ein
Query-Objekt, welches nacheinander 2 Abfragen durchführt, um die Listviews zu füllen.
Arbeiten tut das Programm dann mit den Daten, die im Listview stehen, da haben die Queries nichts mehr mit zu tun. Natürlich kann man bei Doppelklick auf einen Eintrag eine neue
Query starten, um z.B. einen dritten LV, o.ä. zu bedienen.
Ich benutze zum Vorbelegen von Auswahlelementen in Formularen grds. nur eine
Query, mit denen ich z.B: Dropdownlisten, etc. fülle. Dies mache ich mit der AddObject-Methode, wo dann gleich die
DB-ID eines Eintrags mitgeliefert wird. Findet jetzt eine Useraktion statt, z.B. eine Dropdownlisten-Auswahl, frage ich die ID des Objekts ab und übergebe diese an ein (neues)
Query-Objekt.
Anderes Beispiel:
In einer meiner Anwendungen muss ich für einen bestimmten Vorgang zur Darstellung von
DB-Informationen 2
Query-Objekte verwenden.
Das sieht dann ungefähr so aus:
Delphi-Quellcode:
Query1.SQL.Text:='.....';
Query1.Open;
While not Query1.Eof do
begin
Query2.SQL.Text:='.......';
Query2.ParamByName('myParameter').AsString:=Query1.FieldByName('dummy').AsString;
Query2.Open;
While not Query2.Eof do
begin
Tueetwas mit den Daten aus Query2;
end;
end;
In diesem Beispiel braucht man 2
Query-Objekte, da während des Vorgangs auch 2 Datenquellen benötigt werden.
Gruß Igotcha