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