我一直在使用代码,
object amountObject = MySqlDAL.ExecuteQuerySingle(query);
if (amountObject.Equals(System.DBNull.Value))
{
return amount;
}
在某些方面我得到一个异常“对象引用未设置为对象的实例。”来自句子amountObject.Equals(System.DBNull.Value)。它适用于某些数据集。
可能是什么原因?任何人都可以帮帮我吗?
答案 0 :(得分:2)
大概MySqlDAL.ExecuteQuerySingle
正在返回null
而不是System.DBNull.Value
。很难知道这是你的期望中的错误还是ExecuteQuerySingle
中的错误。
答案 1 :(得分:2)
尝试检查结果是否为空。
if (amountObject ==null || amountObject.Equals(System.DBNull.Value))
{
return amount;
}
答案 2 :(得分:0)
有时查询不返回值,因此amountObject
为空。
使用导致此失败的参数手动运行查询,您的SQL出现了问题。
答案 3 :(得分:0)
只需改变:
if(amountObject.Equals(System.DBNull.Value))
{
退货金额;
}
于:
if(amountObject!= null&& amountObject.Equals(System.DBNull.Value))
{
退货金额;
}
答案 4 :(得分:0)
您是否检查过amountObject是否为空?似乎MySqlDAL.ExecuteQuerySingle
返回的值返回NULL。