我有一个查询,我从DataTable
的数据库中接收信息:
DataTable estimateCalculation = new DataTable();
estimateCalculation = db.ExeSQLEstimate("usp_Contracted_Calculation", param1, param2);
所以现在我得到的值是:
var averageContractedAmount = (from DataRow dr in estimateCalculation.Rows select (decimal)dr["AverageContractedAmount"]).FirstOrDefault().ToString("C");
但是在某些情况下dr
可以为空,因此会引发异常
System.InvalidCastException:'指定的转换无效
如何验证dr
是否返回null,而不尝试将其转换为十进制?
答案 0 :(得分:1)
我认为您需要类似这样的简单内容。如果我误解了,请澄清。 (也欢迎)
DataTable dt = new DataTable();
if (dt.Rows.Count == 0)
return;
值得一看的DataRow.IsNull()
if (!dataRow.IsNull());
我自己没有使用过它,但是看起来它可能是您想要的理想选择。