我有这样的整数变量:
Dim valetid as integer
If cvalettype.Checked Then
valetid = RecordID("vtid", "VType_tbl", "Vtype", cmbvalettype.Text)
Else
valetid = 0
End If
如果条件进入其他情况,则valetid取0值。即仅将数据库保存为0。 如果条件来到其他情况我想在mydatabase中将我的valetid保存为Null(现在在我的数据库中将valetid保存为0)。在我的数据库中,我声明为int.how的数据类型我可以这样做吗?
答案 0 :(得分:5)
首先,您的整数变量必须在VB代码和数据库中都可以为空。假设数据库允许此字段为空,您可以执行以下操作:
Dim valetid as Integer?
If cvalettype.Checked Then
valetid = RecordID("vtid", "VType_tbl", "Vtype", cmbvalettype.Text)
Else
valetid = Nothing
End If
' Do stuff with your valetid variable here
或者,正如Neolisk所喜欢的那样:
Dim valetid as Nullable(Of Integer)
If cvalettype.Checked Then
valetid = RecordID("vtid", "VType_tbl", "Vtype", cmbvalettype.Text)
Else
valetid = Nothing
End If
' Do stuff with your valetid variable here
答案 1 :(得分:0)
我愿意;
If cvalettype.Checked Then
valetid = RecordID("vtid", "VType_tbl", "Vtype", cmbvalettype.Text)
Else
valetid = nothing
End If
然后你可以测试;
if valetid isnot nothing then
'write valetid to database
else
'write dbnull to database
end if
答案 2 :(得分:-1)
你的整数被声明为可以为空的整数吗? 如果是这样, 你可以这样做:
Dim valetid as integer
If cvalettype.Checked Then
valetid = RecordID("vtid", "VType_tbl", "Vtype", cmbvalettype.Text)
Else
valetid.hasvalue =false
End If