Umg.: Delphi 6 Ent. UP2, BDE 5.2.0.2
Wenn ich bei einer TTable oder TQuery die Filter-Eigenschaft für ein optionales Feld mit dem Wert Null setze, dann erfolgt diese Sichteinschränkung nur bei Paradox, bei z.B. MSSQL nicht.
Beispiel: Die Tabelle hat folgende Struktur
ID, integer, Primäschlüssel<br>
...<br>
ForeignKey, integer, Fremdschlüssel, optional
Mittels einer Methode werden all diejenigen ForeignKeys ermittelt, die sichtbar sein sollen. Als Ergebnis liefert diese Methode z.B. die Werte 1, 2, 4, 5. Aus Gründen der Anwendungslogik sollen all diese Datensätze angezeigt werden, die entweder diesen Werten entsprechen oder Null (d.h. aufgrund der Optionalität nicht gesetzt) sind.
Mein dynamisch zusammengesetzter Filter-String sieht so aus:
Filter := 'ForeignKey=1 or ForeignKey=2 or ForeignKey=4 or ForeignKey=5 or ForeignKey is null'
Bei Paradox werden auch die ForeignKey=null Datensätze angezeigt, bei MSSQL nicht.
Wenn ich bei einer TTable oder TQuery die Filter-Eigenschaft für ein optionales Feld mit dem Wert Null setze, dann erfolgt diese Sichteinschränkung nur bei Paradox, bei z.B. MSSQL nicht.
Beispiel: Die Tabelle hat folgende Struktur
ID, integer, Primäschlüssel<br>
...<br>
ForeignKey, integer, Fremdschlüssel, optional
Mittels einer Methode werden all diejenigen ForeignKeys ermittelt, die sichtbar sein sollen. Als Ergebnis liefert diese Methode z.B. die Werte 1, 2, 4, 5. Aus Gründen der Anwendungslogik sollen all diese Datensätze angezeigt werden, die entweder diesen Werten entsprechen oder Null (d.h. aufgrund der Optionalität nicht gesetzt) sind.
Mein dynamisch zusammengesetzter Filter-String sieht so aus:
Filter := 'ForeignKey=1 or ForeignKey=2 or ForeignKey=4 or ForeignKey=5 or ForeignKey is null'
Bei Paradox werden auch die ForeignKey=null Datensätze angezeigt, bei MSSQL nicht.
Comment