Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   NULL als Parameter übergeben? (https://www.delphipraxis.net/152530-null-als-parameter-uebergeben.html)

idefix2 25. Jun 2010 18:15

Datenbank: Firebird • Version: 2.1 • Zugriff über: UIB

NULL als Parameter übergeben?
 
Hallo,

gibt es eigentlich eine Möglichkeit, einem SQL Update oder einem Insert Befehl den Wert NULL als Parameter zu übergeben?
(also nicht direkt im SQL Text, und nicht implizit durch Auslassen des Parameters, sondern explizit als Parameter :abc)

Neutral General 25. Jun 2010 18:22

AW: NULL als Parameter übergeben?
 
Hallo,

Delphi-Quellcode:
Query.ParamByName('ABC').Value := null;
müsste eigentlich gehen

idefix2 25. Jun 2010 18:57

AW: NULL als Parameter übergeben?
 
Also mit UIB geht das überhaupt nicht. Da schaut die Aufrufsyntax völlig anders aus.
Und null ist keine Delphi Konstante, da meckert der Compiler von vorneherein.

mkinzler 25. Jun 2010 19:01

AW: NULL als Parameter übergeben?
 
Null ist in Variants deklariert

haentschman 25. Jun 2010 19:02

AW: NULL als Parameter übergeben?
 
Hallo...

wie ist es damit ?
Code:
update TABELLE set FELD = NULL where BLABLA = Bla

mkinzler 25. Jun 2010 19:04

AW: NULL als Parameter übergeben?
 
Alternativ:
Delphi-Quellcode:
Query.ParamByName('ABC').Clear;

idefix2 25. Jun 2010 19:29

AW: NULL als Parameter übergeben?
 
ok, danke.

Der Aufruf der UIB API schaut von der Syntax her etwas anders aus als gewohnt, aber ich habe jetzt noch einmal genauer geschaut, man kann doch auch Variants übergeben mittels der Methode SetByNameAsVariant(const Name: string; const Value: Variant) - dazu muss ich natürlich die Unit variants in mein Programm einbinden, die hatte ich bisher nicht gebraucht, deswegen wollte der Compiler das null überhaupt nicht.

Ich werde es so einmal versuchen.

@ haentschman
ja, so geht es natürlich auch, aber dann brauche ich zwei verschiedene SQL Strings, also zwei verschiedene prepared statements, wenn ich in einer Schleife manchmal null und manchmal einen Wert zuweisen will. Das will ich mir sparen, deshalb war ja meine Frage: nicht direkt im SQL Text.

haentschman 26. Jun 2010 07:45

AW: NULL als Parameter übergeben?
 
:zwinker: hätte ich den ersten Post mal richtig gelesen...


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

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