让ASP.NET SelectParameters接受null值

时间:2012-10-23 05:07:07

标签: c# asp.net sql

我有一个页面可以查看所有大学,我希望此页面按城市查看过滤数据,我添加到SQL语句中:

WHERE (Cit_Id = @Unv_CitId OR @Unv_CitId IS NULL)

并将@Unv_CitId参数的DefaultValue设置为NULL,但是我收到了错误,

我该如何解决这个问题?

5 个答案:

答案 0 :(得分:3)

您应该分配值DBNull.Value,而不是null

答案 1 :(得分:0)

你可以试试这个

where (Cit_Id = isdbnull(@Unv_CitId)?null:@unv_citId

答案 2 :(得分:0)

我不是100%肯定你的意图,但是这样的事情是什么:

WHERE (Cit_Id = @Unv_CitId OR Cit_Id IS NULL)

原始查询在@Unv_CitId IS NULL中看起来有些奇怪:此子句不是针对字段进行检查,而是针对传入的值。

答案 3 :(得分:0)

是的,现在没关系, 我将SqlDataSource的CancelSelectOnNullParameter属性设置为False,并删除参数的defaultValue

答案 4 :(得分:0)

在声明过程中的参数时将@Unv_CitId声明为null,如下所示

@Unv_CitId int NULL

所以varibale也会接受null值。