Announcement

Collapse
No announcement yet.

Anlegen eines TQuery-Objektes zur Laufzeit

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Anlegen eines TQuery-Objektes zur Laufzeit

    Halli Hallo,

    ich habe schon mehrere Möglichkeiten ausprobiert, habe aber irgendwie immer noch nicht richtig den Unterschied zwischen den FieldDefs und den Fields eines TDataset (TQuery) verstanden. Vielleicht komme ich auch deshalb im Moment nicht auf die Lösung folgendes Problems:

    In einer Applikation gibt es ein TQuery. Dort wird ein SQL-Statement zur Laufzeit ausgeführt. Die Felder sind bereits in der Entwicklungszeit über (Felder-Hinzufügen) definiert worden (Achtung!!! Es sind nicht alle Felder der SQL-Abfrage hinzugefügt worden.) Die SQL-Query gibt ca. 10 Felder aber es werden nur 8 in die Felddefinitionen übernommen.

    Während der Laufzeit soll jetzt eine Kopie dieser TQuery erstellt werden. Dazu erstelle ich ein TQuery-Objekt mittels Create und stelle die wesentlichen Eigenschaften ein. Das SQL-Statement kopiere ich auch von der org. Query. Problem hierbei = Diese Query hat alle 10 Felder statt nur die 8.

    Jetzt habe ich schon mit querycopy.Fielddefs.Assign(orgquery.Fielddefs) und querycopy.Fields.Add(orgquery.Fields[i]) rumgespielt. Funktioniert aber auch leider nicht. Da FieldCount irgendwie dann nicht richtig arbeitet bzw. die Felder der Kopie auf die Felder (und die Werte) des Originals zeigen!

    Das Ende der Aufgabe ist es nämlich die beiden Querys miteinander zu prüfen, ob sich irgendein Feldwert geändert hat.

    Hat jemand so eine Aufgabe schon einmal gelöst?

    Viele Grüße

    Frank
Working...
X