Hallo,
habe ein Problem mit der TADODataSet Komponente im speziellen
mit dem Syntax des Filters:
Dieses Phänomen ist leicht zu reproduzieren:
Man nehme:
1. eine beliebige Tabelle mit diversen Integer - Spalten hier X,Y und Z
2. formuliere einen Ausdruck wie
Code:
(X > 10) AND (Y > 10 OR Z > 100)
2.1 alternativ
Code:
(X > 10) AND ((Y > 10) OR (Z > 100))
Es kommt der Fehler: Die Argumente sind vom falschen Typ, liegen außerhalb des Gültigkeitsbereiches oder sind miteinander Unvereinbar!
3. Verändert man den Ausdruck nach
Code:
(X > 10) AND (Y > 10) OR (Z > 100)
ist das OK, jedoch stimmt dann das Ergebnis nicht mehr.
4. Das Problem taucht auf bei BCB5,
RAD Studio 2007 C++ Builder und Delphi
5. Das Workaround, am
SQL-Ausdruck den WHERE-Bereich zu erweitern ist nicht so toll, da im Fall wo es produktiv auftritt die Performance dann in die Knie geht. So werden die Daten ein mal geladen und dann lokal der Filter gesetzt...
Irgend eine Idee?