VB为什么DBnull?没有为字符串“11106.9”定义运算符'*'并键入'DBNull'

时间:2017-09-28 07:52:22

标签: vb.net

我只想计算数据库访问百分比。 这是我的代码

 xlWorksheet.Range("AI" & CurrentRow2).Value = Format(CDbl(strGetAccrualAllocation*ADORS_Temp1.Fields("PERCENTAGE").Value).ToString("N2"))

并且此错误响应

  

System.InvalidCastException:未为字符串定义运算符'*'   “11106.9”并输入“DBNull”。

三江源

1 个答案:

答案 0 :(得分:0)

检查计算中使用的数据为NULL总是明智的。我经常使用内联if,例如:

   IIF(IsDBNull(MyValue),0,MyValue)

如果MyValue为null,则返回零,否则返回MyValue的值。

或者,如果您需要向用户指明值为null:

If IsDBNull(MyValue) Then
    'message to user that vaslue is null or some other action
Else
    'perforn calculation
End If

使用数字字符串时,将发生从字符串到值的隐式转换。如果字符串有可能包含除数字字符以外的任何内容,则应测试该字符串,否则将生成另一个错误。