我想在下面的代码中处理null
条件。
lstTest.Discount = If((Not dataSet.Tables("History") Is Nothing),
If(IsDBNull(dataSet.Tables("History").Rows(0)("DiscountsAdjustmentsAmount")),
"$0.00",
StringToCurrency(GetContractualDiscount(dataSet.Tables("History").Rows(0)
("DiscountsAdjustmentsAmount"), dataSet.Tables("History").Rows(0)
("DiscountsAdjustments"), dataSet.Tables("History").Rows(0)
("EstimatedCharges")))), "$0.00")
我的代码正在破解
dataSet.Tables("History").Rows(0)("DiscountsAdjustments")
因为它的值是null
。我想用" 0.00"
null value
请帮助我如何处理。
由于
答案 0 :(得分:2)
的Rahul,
您可能需要重写此部分内容。这是您的原始代码:
lstTest.Discount = If((Not dataSet.Tables("History") Is Nothing),
If(IsDBNull(dataSet.Tables("History").Rows(0)("DiscountsAdjustmentsAmount")),
"$0.00",
StringToCurrency(GetContractualDiscount(dataSet.Tables("History").Rows(0)
("DiscountsAdjustmentsAmount"), dataSet.Tables("History").Rows(0)
("DiscountsAdjustments"), dataSet.Tables("History").Rows(0)
("EstimatedCharges")))), "$0.00")
而不是这个大的嵌套混乱...为什么不这样做呢。注意我前面没有VB调试器,所以可能会有一些轻微的格式调整,所以请考虑这个伪代码:
数据集是否有效
If Not IsDBNull(dataSet.Tables("History"))
''We know that we have data in our dataset
''Do all your checks
if Not isDBNull(dataSet.Tables("History").Rows(0)("Your field"))
''Do something
Else
''Show a 0
END IF
''REPEAT THE ABOVE LINES FOR EACH FIELD
End if
答案 1 :(得分:0)
您可以首先使用DataRow对象上的方法检查任何列上的null: