本文介绍了传入null整数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个函数,它在许多参数..它然后做一个数据库插入。

I have a function that takes in a number of parameters.. it then does a db insert.

我对其中一个字段(modelID)外键

i have a foreign key on one of the fields (modelID)

我想如果没有选择模型ID传递一个NULL。

i want to pass a NULL if no model ID is selected.

我试过如下:

 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

但现在我得到一个错误说:可空对象必须有一个值

but now i get an error saying: Nullable object must have a value.

我怎样才能解决这一问题?如果我在一个0通过,它不插入,因为它打破了DB约束:(

how can i fix this? if i pass in a 0, it does not insert because it breaks the DB constraints :(

推荐答案

以下工作:

 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它。

i then do a check for 0 when adding a parameter to the stored procedure, and if it's 0, then i assign DBnull to it.

这篇关于传入null整数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-31 18:26