Hallo!
Ich will eine Datenbank etwa so abfragen (Vereinfacht):
Code:
{
Query ist vom Typ TQuery}
Query.Sql:= 'SELECT ID, Abteilung FROM Abteilungen';
Query.ExecSql;
Query.First;
While not
Query.EOF do
begin
Query.Sql:= 'SELECT Name, idAbteilung FROM Arbeiter WHERE idAbteilung='+
Query.FielByName('ID').AsString;
Query.ExecSql;
{ Werte benutzen }
Query.Next;
end;
Ich bin mir im klaren das:
-Dieses beispiel mit Join gelöst werden könnte,
-Die Prozedur nicht funktioniert, weil die Datenmenge des Querys in der Schlaufe geändert wird.
Jetzt meine Frage: Wie kann ich ein "Temporäres" TDataset erzeugen?
Denn so würde die Abfrage ja funktionieren:
Code:
{
Query ist vom Typ TQuery}
{Dataset ist vom Typ TDataset}
Query.Sql:= 'SELECT ID, Abteilung FROM Abteilungen';
Query.ExecSql;
Dataset.Assign(
Query); //<-- Geht nicht!
Query.First;
While not Dataset.EOF do
begin
Query.Sql:= 'SELECT Name, idAbteilung FROM Arbeiter WHERE idAbteilung='+
Query.FielByName('ID').AsInteger;
Query.ExecSql;
{ Werte benutzen }
Dataset.Next;
end;
Wie ist das zu realisieren?
Oder gehe ich das Problem ganz falsch an?
Hoffe wieder mal auf gute Tips