![]() |
Datenbank: mySql • Version: 4 • Zugriff über: Zeos 6
MySQL Query eine Spalte Leer bzw. Null, Abfrage ?
Hallo liebe Delphianer,
stehe mal wieder aufm Schlauch. Meine Abfrage zeigt einen Datensatz mit leerem Feld nicht an.
Code:
-------------------------------------------------------------------------------------
SQLSUCH := 'SELECT * from tbl_kunde WHERE KD_STATUS = :sLEER';
dataM.ZQueryKUNDE.SQL.Clear; dataM.ZQueryKUNDE.SQL.Text := SQLSUCH; dataM.ZQueryKUNDE.ParamByName('sLEER').Value := NULL; dataM.ZQueryKUNDE.Active := true; kd_nr Nachname Status KD_STATUS ORT ------------------------------------------------------------------------------------- 10010001 IMPULS-T NULL NULL Frankfurt 10020003 Werra NULL ROT Köln 10030003 Magna NULL GRÜN Frankfurt -------------------------------------------------------------------------------------- Der Erste Datensatz wird einfach nicht angezeigt. Woran könnte das liegen ?:cyclops: |
AW: MySQL Query eine Spalte Leer bzw. Null, Abfrage ?
Das muss IS NULL heißen und nicht = NULL.
|
AW: MySQL Query eine Spalte Leer bzw. Null, Abfrage ?
Hallo S.H.A.R.K
vielen Dank für Deine Antwort.
Delphi-Quellcode:
Hier bekomme ich folgende Fehlermeldung:
SQLSUCH := 'SELECT * from tbl_kunde WHERE KD_STATUS = :sLEER';
dataM.ZQueryKUNDE.SQL.Text := SQLSUCH; dataM.ZQueryKUNDE.ParamByName('sLEER').Value := IS NULL; dataM.ZQueryKUNDE.Active := true; [Fehler] tools.pas(102): Ausdruck erwartet, aber 'IS' gefunden
Delphi-Quellcode:
SQLSUCH := 'SELECT * from tbl_kunde WHERE KD_STATUS = :sLEER';
dataM.ZQueryKUNDE.SQL.Text := SQLSUCH; dataM.ZQueryKUNDE.ParamByName('sLEER').Value := ISNULL; dataM.ZQueryKUNDE.Active := true; Hier bekomme ich folgende Fehlermeldung: [Fehler] tools.pas(102): Undefinierter Bezeichner: 'ISNULL' |
AW: MySQL Query eine Spalte Leer bzw. Null, Abfrage ?
Probier mal:
Code:
SQLSUCH := 'SELECT * from tbl_kunde WHERE KD_STATUS IS NULL';
|
AW: MySQL Query eine Spalte Leer bzw. Null, Abfrage ?
In SQL sind Vergleiche mit NULL nicht möglich bzw. liefern immer false.
Statt dessen gibt es die Klauseln IS NULL und IS NOT NULL. NULL kann allerdings deshalb nicht als Parameter an die Query übergeben werden. |
AW: MySQL Query eine Spalte Leer bzw. Null, Abfrage ?
... und noch eine Variante ergibt eine leere Anzeige :
Delphi-Quellcode:
SQLSUCH := 'SELECT * from tbl_kunde WHERE KD_STATUS = :sLEER';
dataM.ZQueryKUNDE.SQL.Text := SQLSUCH; dataM.ZQueryKUNDE.ParamByName('sLEER').ISNULL; dataM.ZQueryKUNDE.Active := true; |
AW: MySQL Query eine Spalte Leer bzw. Null, Abfrage ?
Hallo idefix,
besten Dank für deinen Hinweis, so funzt es :
Delphi-Quellcode:
Also nix mit ParamByName ?
SQLSUCH := 'SELECT * from tbl_kunde WHERE KD_STATUS IS NULL';
dataM.ZQueryKUNDE.SQL.Text := SQLSUCH; // dataM.ZQueryKUNDE.ParamByName('sLEER').ISNULL; dataM.ZQueryKUNDE.Active := true; |
AW: MySQL Query eine Spalte Leer bzw. Null, Abfrage ?
Geht mit Null einfach nicht. Ist einer von zwei Werten NULL, dann schlägt jeder Vergleich fehl, das Ergebnis ist nämlich dann immer NULL (und nicht true oder false), egal ob auf Gleichheit oder auf Ungleichheit abgefragt wird.
NULL wird allerdings auch als false interpretiert, ebenso wie seine Negation, also werden die entsprechenden Datensätze nie angezeigt. |
AW: MySQL Query eine Spalte Leer bzw. Null, Abfrage ?
Delphi-Quellcode:
dataM.ZQueryKUNDE.SQL.Text :=
'SELECT * FROM tbl_kunde WHERE COALESCE(KD_STATUS, '''') = :sLEER'; dataM.ZQueryKUNDE.ParamByName('sLEER').Value := ''; dataM.ZQueryKUNDE.Active := true; |
AW: MySQL Query eine Spalte Leer bzw. Null, Abfrage ?
Delphi-Quellcode:
SQLSUCH :=
'SET @SUCH_STATUS = :SUCH_STATUS;'#13#10 + 'SELECT * from tbl_kunde WHERE ( @SUCH_STATUS IS NULL AND KD_STATUS IS NULL OR KD_STATUS = @SUCH_STATUS );'; dataM.ZQueryKUNDE.SQL.Text := SQLSUCH; dataM.ZQueryKUNDE.ParamByName('KD_STATUS').Clear; // Das geht jetzt auch // dataM.ZQueryKUNDE.ParamByName('KD_STATUS').Value := 'ROT'; dataM.ZQueryKUNDE.Active := true; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 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