整数空值
我有一个更新函数,通过数据集更新一个sql server数据库表。 表中的一个字段是一个整数并接受空值。 所以当我填充更新函数时,我需要一种在函数需要一个整数时输入null的方法。
我试图这样做,但_intDLocation = ""
引发异常
Dim _dLocation As String = udDefaultLocationTextEdit.Text
Dim _intDLocation As Integer
If _dLocation <> "" Then
_intDLocation = Integer.Parse(udDefaultLocationTextEdit.Text)
Else
'NEED HELP HERE
_intDLocation = ""
End If
整数不能设置为空。 您必须通过在Integer字后面添加问号来使整数“可空”。 现在_intDLocation不再是一个正常的整数。 它是Nullable(Of Integer)
一个实例。
Dim _dLocation As String = udDefaultLocationTextEdit.Text
Dim _intDLocation As Integer?
If _dLocation <> "" Then
_intDLocation = Integer.Parse(udDefaultLocationTextEdit.Text)
Else
_intDLocation = Nothing
End If
稍后,如果你想检查null,你可以使用这个方便可读的语法:
If _intDLocation.HasValue Then
DoSomething()
End If
在某些情况下,您需要将该值作为实际整数访问,而不是可以为空的整数。 对于这些情况,您只需访问
_intDLocation.Value
在这里阅读关于Nullable的所有信息。
尝试这个:
Dim _dLocation As String = udDefaultLocationTextEdit.Text
Dim _intDLocation As Nullable(Of Integer)
If Not String.IsNullOrEmpty(_dLocation) Then
_intDLocation = Integer.Parse(_dLocation)
End If
我的应用程序使用了很多开始空白(Text属性)的标签,但需要将其作为整数递增,所以我做了这个方便的功能:
Public Shared Function Nullinator(ByVal CheckVal As String) As Integer
' Receives a string and returns an integer (zero if Null or Empty or original value)
If String.IsNullOrEmpty(CheckVal) Then
Return 0
Else
Return CheckVal
End If
End Function
这是如何使用它的典型例子:
Dim Match_Innings As Integer = Nullinator(Me.TotalInnings.Text)
请享用!
链接地址: http://www.djcxy.com/p/42849.html上一篇: Make An Integer Null