ExecuteScalar und DbNull

02/07/2008 - 13:20 von Michaela Meier | Report spam
Hi,

Ich frage mit ExecuteScalar ein Textfeld in einer mdb-Datei ab.
Also:
object r = sqlquery.ExecuteScalar ("SELECT ``dings` FROM `bums`")

Wenn das Feld leer ist, erhalte ich DbNull - logisch ;-)

Mein Problem ist, wie ich am besten damit umgehe.
Ist - da es sich ja um ein Textfeld handelt - die kürzeste Methode

string text = r.ToString()

generell sicher?

Oder lieber doch den langen Weg

if (r is DbNull)
{
text="hier ist nix";
} else
{
text=(string)r;
}

?

Danke

Michaela
 

Lesen sie die antworten

#1 Stefan Simon
02/07/2008 - 14:39 | Warnen spam
"Michaela Meier" schrieb im Newsbeitrag
news:
Ich frage mit ExecuteScalar ein Textfeld in einer mdb-Datei ab.
Also:
object r = sqlquery.ExecuteScalar ("SELECT ``dings` FROM `bums`")

Wenn das Feld leer ist, erhalte ich DbNull - logisch ;-)

Mein Problem ist, wie ich am besten damit umgehe.
Ist - da es sich ja um ein Textfeld handelt - die kürzeste Methode

string text = r.ToString()

generell sicher?



Kommt drauf an. Wenn man nicht zwischen leerem Text und nicht vorhandenem
Text unterscheiden möchte, kannst du ruhig <Instance>.ToString() verwenden,
du wirst von DBNull immer String.Empty zurück bekommen.

Oder lieber doch den langen Weg



Nur, wenn dir eine leere Zeichenkette nicht reicht.

Stefan

Ähnliche fragen