Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Abfrage wenn nicht FALSE funktioniert nicht? (https://www.delphipraxis.net/65330-sql-abfrage-wenn-nicht-false-funktioniert-nicht.html)

Karstadt 15. Mär 2006 10:37

Datenbank: MYSQL • Version: 4.1 • Zugriff über: Direkt

SQL Abfrage wenn nicht FALSE funktioniert nicht?
 
Hallo.

Einen Boolischen Wert kann ich
-False
-True
-leer

zuweisen

WEnn ich aber True und Leer wissen möchte und die Anfragen Where Feld <> False anwende werden mir alle DS angezeigt.

In diesen Fall muss ich Feld = '' OR Feld = True anwenden. Aber warum?

mkinzler 15. Mär 2006 10:40

Re: SQL Abfrage wenn nicht FALSE funktioniert nicht?
 
Versuchs mal mit not

mquadrat 15. Mär 2006 10:43

Re: SQL Abfrage wenn nicht FALSE funktioniert nicht?
 
Null (also leer) muss immer explizit abgefragt werden, zumindest ist das bei Firebird so. Brauchst du denn den dritten Status? Wenn nicht statte das Feld doch einfach mit einem Default-Wert aus, dann hast du das Problem mit null nicht mehr

Karstadt 15. Mär 2006 11:08

Re: SQL Abfrage wenn nicht FALSE funktioniert nicht?
 
In meinen Fall benötie ich alle 3 Werte.

Mit NOT funktioniert das aucht nicht. Bzw IS NOT False

ibp 15. Mär 2006 11:33

Re: SQL Abfrage wenn nicht FALSE funktioniert nicht?
 
wie mquadrat sagte...

SQL-Code:
is null

Hansa 15. Mär 2006 12:36

Re: SQL Abfrage wenn nicht FALSE funktioniert nicht?
 
Er muß aber auf jeden Fall aufpassen ! Entweder wirklich Default-Wert, also 0 oder 1. Dann hat er den dritten Wert aber nicht mehr. Der wird aber gebraucht, also klassischer Fall mit 3 (!) Bool-Werten. NULL (=undefiniert), 0, 1. Dann DARF er aber keinen Default Wert verwenden (sonst gibts eben kein NULL) sondern muß so vorgehen :

Delphi-Quellcode:
if X IS NOT NULL then begin
  if X=0 then
    bla
  else
    blabla
end
else
  NullBlubb
Wird das ganze im Programm selbst gebraucht, dann würde ich mir mal IsNull, IsEmpty usw. ansehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz