0

在我的评估表中,我有一个名为“AppraisalTrace”的字段,它引用了另一个表。该字段是一个可以为空的 int,因为我希望能够在没有 AppraisalTrace 的情况下创建 Appraisal。我正在使用 xsd 来加入数据库和代码。

现在在我的代码中,当我创建评估时,我正在执行以下操作:

oAppraisalRow.SetAppraisalTraceNull();

此自动生成的方法由 dataRow 提供,但是当我尝试插入带有 Null AppraisalTrace 的评估时,它会引发以下异常:

Value for column "AppraisalTrace" in table "Appraisal" is DBNull

那么我应该如何创建我的评估?提前致谢!

4

1 回答 1

0

我假设您在尝试从可为空字段中检索值时遇到此异常。您的强类型DataRow还有一个自动生成的bool属性,指示该字段是否DBNull存在。你必须使用它:

if(oAppraisalRow.IsAppraisalTraceNull)
{
    // this causes your exception, so don't access a nullable field directly 
    var trace = oAppraisalRow.AppraisalTrace;
}
else
{   
    // here you can safely get the value
    var trace = oAppraisalRow.AppraisalTrace;
}

因此,首先检查该属性的字段是否为空bool

于 2012-11-27T13:43:10.050 回答