0

我有 2 个组合框绑定到数据源,以便在 ASP.NET 中创建搜索网页。两个组合框都绑定到数据库表。数据源根据组合框的值确定其 SQL SELECT 语句,因此过滤结果。但是,我想包括用户不想在某些组合中设置值并希望检索有关此组合框的所有数据库记录的情况。我在两个组合中都包含了静态条目(例如),但是如何对数据源进行编程,以便用户何时选择,不会应用 WHERE 语句?我发现这个答案有点用,但是存在安全问题并且不是那么简单。 在运行时更改 SqlDataSource.SelectCommand 会中断分页

提前致谢

4

1 回答 1

0

假设当用户什么都不选择时组合框中的值是-1,您可以像这样修改您的 sql:

SELECT * 
FROM TABLE
WHERE ((COLUMN_1 = @PARAM_1) OR @PARAM_1 = -1)
AND   ((COLUMN_2 = @PARAM_2) OR @PARAM_2 = -1)

如果您将 -1 作为两个参数的值传递,则查询将返回表中的所有记录

于 2013-05-25T09:25:56.750 回答