Hallo Leute,
habe einen sehr merkwürdigen Effekt gefunden. Ich habe eine Datenbank (ACCESS) mit mehreren Tabellen und auf eine davon greife ich per TQuery zu. Dabei filtere ich die Daten in verschiedenster Form. Eine Filterung ist dabeio über ein boolsches Feld.
Wenn ich in dem SQL-Text stehen habe:
Delphi-Quelltext
1:
| SQL[2] := 'WHERE Feld = -1'; |
dann filtert er immer schnell.
Habe ich allerdings stehen:
Delphi-Quelltext
1:
| SQL[2] := 'WHERE not(Feld = 0)'; |
dann filtert er manchmal schnell und manchmal extrem langsam. Habt Ihr dafür eine Erklärung? Ich vermute, dass ja beim ersten Beispiel der konkrete Inhalt abgefragt wird, während beim zweiten alle möglichen Inhalte herausgesucht werden, außer 0. Da jedoch das Feld - wie gesagt - ein boolsches Feld ist (in der Datenbank als logisch definiert), gibt es m.E. ja nur zwei mögliche Feldinhalte.
Das Problem habe ich nun gelöst, indem ich immer den Text "WHERE Feld = -1" einsetze
Toleranz ist eine Grundvoraussetzung für das Leben.