2011-02-08 5 views
1

У меня есть функция, которая принимает несколько параметров. Затем она вставляет db.Передача в NULL целое число?

У меня есть внешний ключ на одном из полей (ModelID)

я хочу передать NULL, если не выбран ни одна модель ID.

я попытался следующие:

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

следующие работали:

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 в БД.

Смежные вопросы