if (!dt.Rows[0][0].Equals(DBNull))
{
     byteayy=(Byte[])dt.Rows[0][0];
}这里提示:DBNULL是个类型,不能当做变量来使用。  如果用New DBNULL(),则提示DBNULL没有构造函数,
那么怎么对比从而排除数据库中记录为空而产生异常呢???

解决方案 »

  1.   

    判断dt!=null and dt.rows.count>0
      

  2.   



    谢谢是这样吗?如果字段是空,在Dt返回的Rows对象里应该也不是空吧,有DBNULL对象啊
      

  3.   

    dt.Rows[0][0] != DBNull.Value
      

  4.   

     if (dt.Rows[0][0].GetType().Equals(typeof(System.DBNull)))
                    {                                   }
      

  5.   

    int id= dr[0] != DBNull.Value ? Convert.ToInt32(dr[0]) :0  ;
      

  6.   

    dr[0] != DBNull.Value  还是  dt.Rows[0][0] != DBNull.Value
      

  7.   

    DataTable的每一行就是一个DataRow,这个DataRow可以判断是否为null,另外DataRow有个IsNull的方法判断某一个coloum是否为null。
    首先判断是否dt.Rows.Count>0   是否有数据
    然后 dt.Rows[0].IsNull()  判断数据是否为null  (方法参数这里未带入,有几种可以选择)