我有一个带有选择下拉菜单的表单,该表单是从数据库中填充的,当提交表单时我会从选择中获得结果
SQL_query = "SELECT * from Flytasks where waabase like '"+waabase+"'"
我想选择单词" ALL"从下拉列表中需要一个select语句,当选择ALL时,它返回所有记录,单词ALL不在数据库中。
这可能吗?
非常感谢提前
罗布
答案 0 :(得分:1)
这是经典ASP吗?您的代码显示字符串连接的加号,而不是经典ASP。
怎么样:
If waabase <> "ALL" Then
SQL_query = "SELECT * from Flytasks where waabase like '" & waabase & "'"
Else
SQL_query = "SELECT * from Flytasks"
End If
对于一点SQL注入保护,您可以更改为:
SQL_query = "SELECT * from Flytasks where waabase like '" & Replace(waabase, "'", "''") & "'"
答案 1 :(得分:0)
在产生下拉选项的查询中,执行以下操作:
select blabla
from tbl
union all
select 'All'
(将'All'指定为文字,因为它不存在于表中,使用union将其与存在的值连接起来)
然后在使用所选下拉值的查询中,执行以下操作:
select *
from tbl
where promptfield = promptvalue
union all
select *
from tbl
where promptvalue = 'ALL'
请注意,当在下拉列表中选择“ALL”时,此联合中的第一个查询基本上不返回任何结果,第二个查询将运行并生成所有结果。当选择除all之外的其他内容时,它将用作标准,第一个查询将生成其结果,而第二个查询将不返回任何内容,基本上可以执行您想要的操作。