DBNull.value字段

 

DBNull.Value 字段的用法

DBNull 是一个单独的类,这意味着该类只能存在此实例。它指数据库中数据为空(<NULL>)时,在.net中的值

如果数据库字段的数据缺失,则您可以使用 DBNull.Value 属性将 DBNull 对象值显式分配给该字段。然而,大部分数据提供程序会自动进行分配。

若要计算数据库字段以确定其值是否为 DBNull,则可以将字段值传递给 DBNull.Value.Equals 方法。但此方法不常用,因为有许多其他方式可计算数据库字段是否缺少数据。

例如:

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

DBNull.value==数据库中的null值...

DBNull.value是对datatable来说的,他就相当于DB中的null,datatable中的null值只有用DBNull.value才能比较,

例如:drow[0]==DBNull.value;

延伸阅读:

一、对表进行插入操作,如datetime和int类型的两个字段,都允许为null,
用“sqlcmd.Parameters.Add("@t12",tb12.Text)”参数绑定时。datetime类型时,tb12.Text为空,插入成功,不报错,查看该值,却为1900-01-01;int类型时,用同样语句,tb12.Text为空,插入成功,不报错,查看该值,却为0;用“sqlcmd.Parameters.Add(new SqlParameter("@t12",SqlDbType.DateTime));sqlcmd.Parameters["@t12"].Value=tb12.Text;”语句时,tb12.Text为空插入则报错。

sqlcmd.Parameters.Add(new SqlParameter("@t12",SqlDbType.DateTime));
if (tb12.Text.Length>0)
{
  sqlcmd.Parameters["@t12"].Value=tb12.Text
}
else
{
  sqlcmd.Parameters["@t12"].Value = System.DBNull.Value;
}

 

posted @ 2015-12-14 11:01  路北丶  阅读(854)  评论(0编辑  收藏  举报