Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi adodataset - Wert NULL (https://www.delphipraxis.net/80241-adodataset-wert-null.html)

gordenfreeman2 5. Nov 2006 18:05

Datenbank: MYSQL • Version: 5 • Zugriff über: AdoDataSet

adodataset - Wert NULL
 
Hallo Leute,

habe folgendes Problem: In meiner Tabelle gibt es eine Spalte die den Wert null hat oder auch einen String enthalten kann. Doch wenn ich mit AdoDataSet auf die Spalte zugreif und sie hat den Wert NULL bekomme ich eine Fehlermeldung, das die Variante(NULL) nicht in einen Variante(String) konvertiert werden kann. Ok Meldung verstehe ich ja. Aber gibt es eine Möglichkeit das er wenn auf eine Spalte kommt wo der Wert null ist nicht gleich eine Fehlermeldung bekommt?

Danke für eure Hilfe.

mkinzler 5. Nov 2006 18:08

Re: adodataset - Wert NULL
 
Mit .isNull abprüfen und darauf reagieren.

gordenfreeman2 5. Nov 2006 18:16

Re: adodataset - Wert NULL
 
Ja ok des habe ich auch gemacht, nur brauche ich dann den Original wert sofern nicht NULL drinnen steht.

Weißt was ich meine. Wenn isNull 0 zuruückliefert ist es zwar schön und ich weiss es ist nicht NULL, aber ich bekomme dann den wert nicht heraus. Ich brauche sofern er nicht NULL ist den Wert.

mkinzler 5. Nov 2006 18:18

Re: adodataset - Wert NULL
 
Dann dreh doch di Bedingung mit not um.

gordenfreeman2 5. Nov 2006 18:21

Re: adodataset - Wert NULL
 
Muss ich das jetzt vesrstehen ????

was meinst mit not umdrehen? ich habe ja keine Bedingung.

Iich habe einen Selekt der auf eine Spalte geht wo der Wert null ist. Mit IsNull bekomme ich 0 oder 1 zurück.

Was soll mir da not helfen????

Sorry verstehe ich nicht.

Wenn ich es umdrehe dann bekomme ich ja auch nicht den original wert. Dann bekomme ich nur das Ergebnis von IsNull umgedreht. Statt 1 bekomme ich 0.

Gibt es nicht eine Funktion die den String vergleicht. In Oracle geht es mit Decode(spalte,erg1,return wert). Aber in Mysql ist decode eine verschlüsselung.

gordenfreeman2 5. Nov 2006 18:38

Re: adodataset - Wert NULL
 
Die Funktion lautet ifnull(spalte,'return wert wenn null').

Damit bekomme ich wenn die Spalte null ist einen Wert.

Trotzdem Danke für die Hilfe.

raiguen 5. Nov 2006 21:10

Re: adodataset - Wert NULL
 
Moin :-)

Zitat:

Zitat von gordenfreeman2
Die Funktion lautet ifnull(spalte,'return wert wenn null').

Damit bekomme ich wenn die Spalte null ist einen Wert.

Trotzdem Danke für die Hilfe.


Auszug aus dem ReferenceManual von mySQL:

IFNULL(expr1,expr2)

If expr1 is not NULL, IFNULL() returns expr1; otherwise it returns expr2. IFNULL() returns a numeric or string value, depending on the context in which it is used.

Das heißt im Klartext: expr2 belegst du mit einem 'Default'-Wert für den Fall, dass die Spalte NULL zurückgibt:

Code:
SELECT IFNULL(spalte, 0)     // für Integer oder Float
SELECT IFNULL(spalte, '')    // für String
So müsste es funktonieren :?:


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