web-dev-qa-db-fra.com

Comment vérifier si la valeur Datarow est nulle

Dites-moi s'il vous plaît si c'est la bonne façon de vérifier NULL dans DataRow si vous devez retourner un string

 Convert.ToString(row["Int64_id"] ?? "")

Ou devrait être comme vérifier avec DBNull.Value.

Besoin de beaucoup plus petit que

if(row["Int64_id"] != DBNull.Value){...}else if{}
21
AleksP

Vérifiez si la colonne de données n'est pas nulle avec DataRow.IsNull (string columnName)

if (!row.IsNull("Int64_id"))
{
  // here you can use it safety
   long someValue = (long)row["Int64_id"];
}
48
Felipe Oriani

Nous avons créé une classe d'extension qui aide dans ce genre de situations.

public static class DataRowExtensions
  {
    public static T FieldOrDefault<T>(this DataRow row, string columnName)
    {
      return row.IsNull(columnName) ? default(T) : row.Field<T>(columnName);
    }
  }

Vous pouvez utiliser est comme suit:

int id = dataRow.FieldOrDefault<int>("Id");
9
Ajit Goel