我有一个接受许多参数的函数..然后进行数据库插入。
我在其中一个字段(modelID)上有一个外键
如果没有选择模型ID,我想传递一个NULL。
我尝试了以下内容:
Dim model As Nullable(Of Integer)
If ddlModel.SelectedValue = "Other" Then
'add new model
model = cSource.InsertModel(txtModel.Text, ddlManuf.SelectedValue)
ElseIf ddlModel.SelectedValue = "0" Then
model = Nothing
Else
model = ddlModel.SelectedValue
End If
但现在我收到一条错误消息:Nullable对象必须有一个值。
我该如何解决这个问题?如果我传入0,则不会插入,因为它会破坏数据库约束:(
答案 0 :(得分:1)
使用“model = DBNull.Value”
答案 1 :(得分:0)
改为:
model.Value = Nothing
如果错误仍然发生,请告诉我们?
同样,如果您有一个空日期,则可以将DBNull.Value
传递给数据库。
答案 2 :(得分:0)
以下工作:
Dim model As Integer
If ddlModel.SelectedValue = "Other" Then
'add new model
model = cSource.InsertModel(txtModel.Text, ddlManuf.SelectedValue)
ElseIf ddlModel.SelectedValue = "0" Then
model = Nothing
Else
model = ddlModel.SelectedValue
End If
然后在向存储过程添加参数时检查0,如果它为0,则我将DBnull分配给它。