整数空值

我有一个更新函数,通过数据集更新一个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

下一篇: using if else with eval in aspx page