如何在参数为null时防止崩溃

时间:2010-02-18 10:57:18

标签: asp.net sql syntax parameters null

我将动态控件的值插入到数据库中,如此;

Dim ae1 As DropDownList = FindControl("AreasExpertise1")
        If (ae1 IsNot Nothing) Then
            x.Parameters.AddWithValue("@areasexpertise1", ae1.SelectedValue)
        End If

然后在我的查询中我有这样的参数;

INSERT INTO [foo] ([etc], [etc], [etc], [areasexpertise1], [areasexpertise2])
VALUES (@etc, @etc, @etc, @areasexpertise1, @areasexpertise2)

当用户填写表单时,他们只看到areasexpertise1并且必须按一个按钮才能动态插入另一个专业领域......

如果他们只有1个专业领域,那么查询会崩溃并说'必须声明变量@ areasexpertise2。

请告诉我一种在参数为空时插入空值或忽略它们的方法?

非常感谢

1 个答案:

答案 0 :(得分:2)

尝试传入DBNull.Value,如下所示:

If (ae1 IsNot Nothing) Then
    x.Parameters.AddWithValue("@areasexpertise1", ae1.SelectedValue)
Else
   x.Parameters.AddWithValue("@areasexpertise1", DBNull.Value)
End If