Asp.net 传入空整数?
我有一个函数,它接受许多参数。。然后它执行db插入 我在其中一个字段(modelID)上有一个外键 如果没有选择模型ID,我希望传递NULL 我尝试了以下方法:Asp.net 传入空整数?,asp.net,vb.net,parameters,null,Asp.net,Vb.net,Parameters,Null,我有一个函数,它接受许多参数。。然后它执行db插入 我在其中一个字段(modelID)上有一个外键 如果没有选择模型ID,我希望传递NULL 我尝试了以下方法: Dim model As Nullable(Of Integer) If ddlModel.SelectedValue = "Other" Then 'add new model model = cSource.InsertModel(txtModel.Text, ddl
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
但现在我得到一个错误:可为null的对象必须有一个值
我怎样才能解决这个问题?如果我传入一个0,它不会插入,因为它打破了数据库约束:(使用“model=DBNull.Value”使用“model=DBNull.Value”改为:
model.Value=Nothing
让我们知道错误是否仍然发生
同样,当日期为空时,可以将DBNull.Value
传递给数据库。改为:
model.Value=Nothing
让我们知道错误是否仍然发生
同样,当日期为空时,可以将DBNull.Value
传递给数据库。以下操作有效:
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。以下操作有效:
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