![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: FireDAC
SQL mit parameter und NULL oder normalen Werten
Hallo,
gegeben sei ein SQL Statement wie dieses: select ID, BelegNr, BelegDatum from MyTable where (BelegNr = :pBelegNr) Jetzt kann es in der Tabelle Belege geben, die schon eine ID haben aber noch keine BelegNr. BelegNr ist ein Integer.
Delphi-Quellcode:
Sollte also den Beleg 123 "beschaffen". Soweit funktioniert das auch.
FMyQuery.ParamByName('pBelegNr').AsInteger := 123;
FMyQuery.Open; Aber wie beschaffe ich alle Belege die noch NULL sind?
Delphi-Quellcode:
Sollte das soweit ich die Hilfe verstehe tun, macht es aber nicht.
FMyQuery.ParamByName('pBelegNr').Clear;
FMyQuery.Open; Ich bekomme 0 Records geliefert. Baue ich den Select so um: select ID, BelegNr, BelegDatum from MyTable where (BelegNr is NULL) bekomme ich problemfrei alle NULL Belege... Woran kann das liegen? Was müsste ich ändern, damit es mit dem parameter für beide Szenarien funktioniert? Grüße TurboMagic |
AW: SQL mit parameter und NULL oder normalen Werten
Probiere mal explizit den Datentyp für den Parameter zu setzen...
|
AW: SQL mit parameter und NULL oder normalen Werten
Mit dem Parameter ist alles OK, aber das SQL ... naja :roll:
Zitat:
SQL-Code:
where (BelegNr is null and :pBelegNr is null) or (BelegNr = :pBelegNr)
where (BelegNr is not distinct from :pBelegNr) oder was irgendwas coalesce ...
Delphi-Quellcode:
FMyQuery.ParamByName('pBelegNr').Clear;
// oder FMyQuery.ParamByName('pBelegNr').Value := Null; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:18 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