Asp.net 传入空整数?

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

我有一个函数,它接受许多参数。。然后它执行db插入

我在其中一个字段(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
但现在我得到一个错误:可为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