我认为验证应该很简单,但我自己没有想到它。
我正在尝试验证值是否具有DBNULL
使用
If((objAssessCircleRows[0].ClassValue) != System.DBNull.Value)
{
//do something
}
但它抱怨“运算符不能应用于int类型和系统dbnull的操作数”。请某些人指导我验证DBNULL值的正确方法
objAssessCircleRows[0]
是DataRow
。
答案 0 :(得分:1)
如果ClassValue
是Int32
,则永远不会等于DBNull.Value
,因为这两种类型之间没有转换。我猜你在尝试为.ClassValue
调用 getter 时会遇到异常。
您希望先使用IsNull(string)
方法进行检查。类似的东西:
if(objAssessCircleRows[0].IsNull("ClassValue")) // Column name from DataSet
{
//do something
}
此外,如果这是使用类型化数据集生成的,则还应生成匹配的 IsNull 方法以检查Null值:
if(objAssessCircleRows[0].IsClassValueNull())
{
//do something
}