Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   datumsfeld is null (https://www.delphipraxis.net/133248-datumsfeld-null.html)

khh 28. Apr 2009 15:38

Datenbank: firebird • Version: 2.1 • Zugriff über: zeos

datumsfeld is null
 
hallo zusammen, gibts ne möglichkeit ein datumsfeld in der db explizit mit NULL zu füllen.

SQL-Code:
set druckdatum = NULL
geht wohl nicht :-(
da bekomme ich nen typcasterror

Gruss Kh

Hansa 28. Apr 2009 15:40

Re: datumsfel is null
 
Setze es mit
SQL-Code:
DEFAULT NULL

mkinzler 28. Apr 2009 15:43

Re: datumsfeld is null
 
Sollte eigentlich funktionieren :gruebel:

Hansa 28. Apr 2009 15:48

Re: datumsfeld is null
 
Das Unterdrücken der Fehlermeldungen müsste man eigentlich unter Strafe stellen. :mrgreen: Vermutlich irgendein Syntaxfehler. ; vergeseen " zuviel etc.

khh 28. Apr 2009 15:58

Re: datumsfeld is null
 
Zitat:

Zitat von Hansa
Das Unterdrücken der Fehlermeldungen müsste man eigentlich unter Strafe stellen. :mrgreen: Vermutlich irgendein Syntaxfehler. ; vergeseen " zuviel etc.


sorry :-(


die Fehlermeldung ist folgende:
EVariantTypeCastError.
could not convert variant of type (NULL) into type (date)


Fruss KH

Hansa 28. Apr 2009 16:03

Re: datumsfeld is null
 
Zitat:

Zeig doch mal das komplette SQL-Statement
Ähmm. :mrgreen:

Das heißt auch so :

SQL-Code:
update set druckdatum = NULL

mkinzler 28. Apr 2009 16:03

Re: datumsfeld is null
 
Zeig mal dein komplettes SQL-Statement. Ist Feld not null?

khh 28. Apr 2009 16:12

Re: datumsfeld is null
 
Zitat:

Zitat von mkinzler
Zeig mal dein komplettes SQL-Statement. Ist Feld not null?


ich denke es liegt daran, dass NULL als parameter übergeben wird:
SQL-Code:
 FQuery1.ParamByName('rgdruckdatum').AsDate := NULL

ich möchte aber ungern das komplette statement umbauen, da ablaufbedingt auch sein kann das das druckdatum eben nicht NULL, sondern now ist.

EDIT: im sqlstatement direkt funktioniert : set druckdatum = NULL

natürlich mit dem update usw drumrum ;-)

mkinzler 28. Apr 2009 16:13

Re: datumsfeld is null
 
Delphi-Quellcode:
FQuery1.ParamByName('rgdruckdatum').Value := Null;
oder
Delphi-Quellcode:
FQuery1.ParamByName('rgdruckdatum').Clear;

khh 28. Apr 2009 16:17

Re: datumsfeld is null
 
[quote="mkinzler"]
Delphi-Quellcode:
FQuery1.ParamByName('rgdruckdatum').Value := Null;
funktioniert!
danke dir, damit kann ich leben, so muss ich nur eine fallunterscheidung einbauen ;-)


Gruss KH

mkinzler 28. Apr 2009 16:18

Re: datumsfeld is null
 
Du kannst aber normalerweise imm er .Value verwenden

khh 28. Apr 2009 17:50

Re: datumsfeld is null
 
Zitat:

Zitat von mkinzler
Du kannst aber normalerweise imm er .Value verwenden

ok, das wusste ich nicht.
Und was passiert wenn dann die Datentypen nicht passen?
muss ich das dann wohl selbst prüfen, oder ?

mkinzler 28. Apr 2009 17:56

Re: datumsfeld is null
 
Es wird dann versucht zu konvertieren.

khh 28. Apr 2009 17:59

Re: datumsfeld is null
 
Zitat:

Zitat von mkinzler
Es wird dann versucht zu konvertieren.

dann ist das sogar besser als AsXy


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:49 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