如何处理System.DBNull?

时间:2014-02-25 10:31:13

标签: c# dbnull

我有一个类型为

的对象
dynamic {System.DBNull}

我想检查一下:

if (myObject!= null || myObject!= DBNull.Value)
{
   MessageBox.Show("Oh hi");
}

MessageBox总会出现。什么是错的,是另一种类型吗?

3 个答案:

答案 0 :(得分:5)

此表达式始终为真

myObject != null || myObject != DBNull.Value

因为myObject不能同时是nullDBNull.Value。将||替换为&&以修复。

答案 1 :(得分:1)

试试此代码

if(myObject != DBNull.Value)
{
   MessageBox.Show("Oh hi");
}

if(myObject != null && myObject != DBNull.Value)
{
   MessageBox.Show("Oh hi");
}

答案 2 :(得分:1)

还有一个检查DBNull的功能:

if(myObject != null && !Convert.IsDBNull(myObject))
{
   MessageBox.Show("Oh hi");
}