Einzelnen Beitrag anzeigen

Smodibo
(Gast)

n/a Beiträge
 
#5

Re: Den Feld-Editor einer TQuery zur Laufzeit füllen

  Alt 10. Feb 2005, 11:28
Ich fülle ein TwwDBGrid zur Laufzeit mit bestimmten Feldern der Datenmenge. Da der Feldeditor bei mir leer ist, ist die Eigenschaft DisplayLabel der Felder nicht angepasst (z.B. NAME = Name).
Nun passiert folgendes zur Laufzeit:
- Beim drücken auf eine Spalte im Grid wird die Datenmenge nach dieser Spalte sortiert.

Bspl.:

Code:
Query.close;
Query.SQL.clear;
Query.SQL.Add('SELECT A.*, (SELECT COUNT(0) FROM TESTEN2 WHERE ID_TESTEN = A.ID_TESTEN) ANZAHL');
Query.SQL.Add('FROM TESTEN A');
Query.SQL.Add('ORDER BY A.NAME'); {Diese ORDER BY Klausel ermittle ich aus der Spalte, die ich gedrückt habe}
Query.Open;
Danach werden alle Feldnamen wieder so angezeigt, wie sie in der Datenbank stehen.
Wäre der Feld-Editor gefüllt, wie zur Entwurfszeit, dann würden die DisplayLabels so bleiben, wie
sie vor dem erneuten Öffnen der Query waren.

Durch dieses (SELECT COUNT(0) ...) in der Query kommt es zwischen ORACLE und SQL Server zu einem Konflikt, da die Feldtypen nicht gleich sind.
Folgende Fehlermeldung erscheint:
Unterschiedliche Typen für Feld 'ANZAHL'; erwartet: Float, gefunden: Integer

Mfg

Smodibo
  Mit Zitat antworten Zitat