2

我试图避免使用 0 的数据库空值,如果它不为空,则获取原始值。

但我有一些问题。

这是我的示例代码:

    int Value = 0;
    for(int i = 0; i < tblValue.Rows.Count; i++)
    {
      if (tblValue.Rows[i][""]== DBNull.Value)//Here it always returns true.. even there are values at Position 1 and 
      {
         Value += 0;                        
      }
      else
      {
         Value += Convert.ToInt32(tblValue.Rows[i][""]);
      }

   }

任何的想法?

我是否以错误的方式检查 DBNUll 值?

4

2 回答 2

1

是的。试试 (DBNull.Value.Equals(tblValue.Rows[i][""]);

http://msdn.microsoft.com/en-us/library/system.dbnull.value.aspx

于 2013-07-09T12:40:44.180 回答
1

试试这个:

int Value = 0;
for(int i = 0; i < tblValue.Rows.Count; i++)
{
    if (!IsDBNull(tblValue.Rows[i][""])) 
    {
        Value += Convert.ToInt32(tblValue.Rows[i][""]);
    }
}

Value如果数据库值为 ,这只会增加变量NOT NULL

于 2013-07-09T13:11:58.953 回答