【发布时间】:2011-05-03 05:58:08
【问题描述】:
在 T-SQL 中,如何编写查询来为列的任何整数值选择行??
比如数据是这样的
NAME,AGE
A,10
B,20
C,10
D,20
还有一个<asp:dropdownlist> 有两个选项10,20,因此用户可以选择10 或20。如果用户选择10 或20,则数据被正确拉取,但我如何说* 条件? - 就像为age 列中的任何值选择所有数据一样??
我的代码如下,
select ...where (AGE = @AGE)
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="AGE" PropertyName="SelectedValue"
DbType="Int32" DefaultValue="ANY"
另外,跟随查询在 SSMS 中完美运行,但是如何在 asp.net SqlDataSource 中实现此行为?
SELECT * FROM [TABLE] where AGE is not null
如果 AGE 列是 varchar 类型,我可以使用 '%',但它是一个数字字段
谢谢,
【问题讨论】:
-
为什么不跳过 WHERE 子句?如果你想选择任何年龄,我不明白你为什么要添加一个条件。
-
我想将它放在 WHERE 子句中,因为如果用户从下拉列表中选择一个值,则需要提取数据。从 WHERE 中删除它会有效地使下拉列表无用..
-
@user331225 不,您将“ANY”添加为下拉框中的第一个(或最后一个)选项。然后您的代码会检查用户是否选择了“ANY”字段。如果他这样做了,您就不会在 SQL 中添加 where age=@age。如果用户选择了任何其他选项,则添加 where 子句。
-
无论用户选择什么,您是否都尝试对所有情况使用一个 SQL 查询?
标签: asp.net sql sql-server tsql