C# 让ASP.NET SelectParameters接受空值
我有一个页面可以查看所有大学,我希望此页面可以查看每个城市的筛选数据,我在SQL语句中添加了:C# 让ASP.NET SelectParameters接受空值,c#,asp.net,sql,C#,Asp.net,Sql,我有一个页面可以查看所有大学,我希望此页面可以查看每个城市的筛选数据,我在SQL语句中添加了: WHERE (Cit_Id = @Unv_CitId OR @Unv_CitId IS NULL) 并将@Unv_CitId参数的DefaultValue设置为NULL,但我得到了错误 我如何解决这个问题 您应该分配valueDBNull.value而不是null您可以试试这个 where (Cit_Id = isdbnull(@Unv_CitId)?null:@unv_citId 我不是百分之百
WHERE (Cit_Id = @Unv_CitId OR @Unv_CitId IS NULL)
并将@Unv_CitId参数的DefaultValue设置为NULL,但我得到了错误
我如何解决这个问题 您应该分配value
DBNull.value
而不是null
您可以试试这个
where (Cit_Id = isdbnull(@Unv_CitId)?null:@unv_citId
我不是百分之百确定你的意图,但是像这样的事情呢:
WHERE (Cit_Id = @Unv_CitId OR Cit_Id IS NULL)
原始查询中的@Unv\u CitId IS NULL
看起来有点奇怪:该子句不是针对字段进行检查,只是针对传入的值进行检查。是的,现在可以了,
我将SqlDataSource的CancelSelectOnNullParameter属性设置为False,并在如下所示的过程中声明参数时将参数的默认值删除为null
@Unv_CitId int NULL
因此varibale也将接受空值。错误是什么?请共享完整查询,而不仅仅是
where
子句。向我们显示您收到的异常。谢谢,但是我收到了以下错误“将nvarchar值'DB.Null'转换为数据类型int时转换失败”。我想您不需要查询的'Unv_CitId IS Null'部分。请将其更改为DBNull.value,而不是DBNull。