从数据集中获取单元格值

Get cell value from Dataset

我在数据集中有 Table,当我尝试获取单元格值(如果值为空)时出现异常。强类型异常 "The value for column Surname in table AI_PARTNERS is Db Null." 每当我尝试转

partnersDataSet.AI_PARTNERS[0].SURNAME

如果为 null 我得到异常并且无法与 null 进行比较。

_partnerInfo.Surname = partnersDataSet.AI_PARTNERS[0].SURNAME

如果值为空,如何获取值或空字符串?

这样试试 检查 DBNull.Value

的属性
 if(partnersDataSet.Tables[0].Rows.Count>0)   
 {
    if(!string.IsNullOrEmpty(partnersDataSet.AI_PARTNERS[0].SURNAME))
    {
    if (partnersDataSet.AI_PARTNERS[0].SURNAME != System.DBNull.Value))
     {
    _partnerInfo.Surname =partnersDataSet.AI_PARTNERS[0].SURNAME;
     }
    }       
 }

您始终可以使用 DataRow.IsNull 方法重载之一。此外,由于您使用的是类型化数据集,因此必须有一个名为 IsSURNAMENull().

的生成方法

但您可以自动获取。在设计器中打开类型化数据集 xsd 文件,select SURNAME 属性,转到属性 window 并更改 NullValue 属性 从 (Throw exception)(默认值)到 (Null)(Empty).

参考: Annotating Typed DataSets