检查C#中的DbNull

时间:2012-01-19 09:21:35

标签: c# asp.net sql-server

我发现在验证以下内容时遇到了困难

if(personDS.person[0].IdFk!= DBNull.Value)

这是编译时错误 - 无法应用于' System.Guid和' System.Dbnull'

类型的操作数

5 个答案:

答案 0 :(得分:4)

我认为你应该检查:

if(personDS.person[0].IsIdFkNull())

答案 1 :(得分:0)

你也可以检查一个空的Guid

if (personDS.person[0].IdFk == Guid.Empty )

答案 2 :(得分:0)

尝试

if(!(personDS.person[0].IdFk is System.DBNull))

答案 3 :(得分:0)

Id是一个Guid,它是一种Value类型,因此永远不会等于DBNull.Value。在我完全帮助之前,我需要知道personDS(DataSet可能?)和person(也许是DataTable)的类型。假设如此,那么也许:

if (!personDS.person[0].IsNull("IdFK"))

如果person不是DataTable而是类,则检查IdFk == Guid.Empty,如果IdFk是Guid,还是IdFk == null如果IdFk是{ {1}}。

答案 4 :(得分:0)

IdFk是否可以为空? Es:

public Guid? Idfk 

如果是这样,你可以:

if(personDS.person[0].IdFk.HasValue)