System.Data.StrongTypingException: '表 'Material' 中列 'Quantity' 的值为 DBNull

问题描述

我有一个 MS Access 数据库,其中包含一个表 Material 和一个 Quantity 类型的列 OleDbType.Single

我希望使用 Linq 查询创建 Quantity 值列表。

不幸的是,当有一个“空”列时,我总是得到一个错误:

System.Data.StrongTypingException:

'表'Material'中'Quantity'列的值为DBNull。
InvalidCastException'

我尝试了一些东西(已注释掉),但似乎都不起作用。

var amountList = from materialAmounts in databaseMatRaktarDataSet.Material
                 // where !DBNull.Value.Equals(materialAmounts.Quantity)
                 // where !materialAmounts.Quantity.Equals(DBNull.Value)
                 // where materialAmounts.Quantity > 0
                 select new 
                        { 
                            Amount = Convert.IsDBNull(materialAmounts.Quantity) ? 0 : materialAmounts.Quantity 
                        };

foreach (var amount in amountList)
{
    if (DBNull.Value.Equals(amount))
    {
        MessageBox.Show("Null");
    }
    else
    {
        MessageBox.Show(amount.ToString());
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)