比如数据库中的一个表有三列,有一个列是不允许为空的,其它两个列是允许为空的,我现在将这个表中的所有数据查出来后FILL到一个datatable中,现在我在查看这个datatable的各列是发现各个列的AllowDBNull都是True我现在想取得各位列在数据库中是否为空的信息,该怎么做呢?谢谢!

解决方案 »

  1.   

    判断一个DataTable中的一个DataRow中的某一列为空值,不能使用
    if (Row.ItemArray[index]!=null) .........的形式 需要使用DataRow类自带的一个函数IsNull。
    if(!DataRow.IsNull(index))在DataReader(如SqlDataReader)有相同功能的IsDBNull函数 原因数据库列中的控制映射到.NET对象中是一个DBNull的对象。判断数据库列空值。办法有:if( DataRow.IsNull(index))if(Convert.IsDBNull(Row.ItemArray[index]))
      

  2.   

    你这个只能判断各个单元格里的内容是否为空,我是想知道这个datatable的各个列在数据库表中是否允许为空的.............
      

  3.   

    datatable 怀疑获取不到  
    但是数据库系统表 一定能获得 某个表的 某个列 的信息 
      

  4.   

    datatable 怀疑获取不到  
    但是数据库系统表 一定能获得 某个表的 某个列 的信息  
      

  5.   

    datatable 获得了 表数据  但是表结构可能获取不到 比如列的类型
      

  6.   

    DataColumn 属性 AllowDBNull  获取或设置一个值,该值指示对于属于该表的行,此列中是否允许空值。 这个  应该不是 数据表的非空性的 反映