2011-02-08 24 views
1

我有一個函數,需要在一些參數..然後做一個數據庫插入。傳入NULL整數?

我有上的字段(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 

,但現在我得到一個錯誤說:可空對象必須有一個值。

我該如何解決這個問題?如果我在一個0通過,它不插入,因爲它打破了DB約束:(

回答

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

0

做,而不是:

model.Value = Nothing

,讓我們知道如果錯誤仍然發生?

而且,當你有一個空的日期,你可以通過DBNull.Value的分貝。