我希望你能帮忙处理以下代码中的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值
。
请问如何处理?
谢谢
DataRow
类有Field(Of T)
扩展方法,也支持可空类型。这听起来好像该列应该是一个Decimal?
。然后你可以这样获取值:Dim discountsAdjustments = dataSet.Tables("History").Rows(0).Field(Of Decimal?)("DiscountsAdjustments")
。 - Tim SchmelterdataSet.Tables("History").Rows(0)("DiscountsAdjustmentsAmount")
之前,您应该检查dataSet.Tables("History").Rows(0)
是否为空。 - Scott Marcus