Was ist richtig: DBNull oder DBNull.Value?



  • Hi,

    ich extrahiere Daten aus einer Datenbank mit einem SqlDataReader. Nun moechte ich testen, ob es sich bei den extrahierten Daten um einen Nullwert handelt. Wie geht man vor?:

    object obj = r["spaltenname"]; // r ist der SqlDataReader

    if(DBNull.Value != obj)
    ...

    // oder
    if(!(DBNull is obj))
    ...

    Macht das ueberhaupt einen Unterschied?



  • Ich habe da immer DbDataReader.IsDBNull() genommen.

    Edit. Ich bilde mir ein, dass DBNull.Value wirft, wenn der Wert null ist.
    Edit2. Erstes Edit ist falsch, habe es mit den Nullable-Typen verwechselt.
    In der Hilfe gibt es ein Beispiel für eine DataRow:

    if (! DBNull.Value.Equals(row[fieldName])) 
          return (string) row[fieldName] + " ";
       else
          return String.Empty;
    

Anmelden zum Antworten