我有一个页面可以查看所有大学,我希望此页面按城市查看过滤数据,我添加到SQL语句中:
WHERE (Cit_Id = @Unv_CitId OR @Unv_CitId IS NULL)
并将@Unv_CitId参数的DefaultValue设置为NULL,但是我收到了错误,
我该如何解决这个问题?
答案 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值。