繁体   English   中英

使用经典 ASP 的 SQL 语句

[英]SQL Statement with Classic ASP

我有一个带有选择下拉列表的表单,该表单从数据库中填充,当表单提交时,我从选择中获得结果

  SQL_query = "SELECT * from Flytasks where waabase like '"+waabase+"'"

我想选择从下拉下拉下来选择“全部”单词,需要单个选择语句,即选择所有记录,所有记录都不在数据库中。

这可能吗 ?

提前谢谢了

这是经典的 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, "'", "''") & "'"

在生成下拉选项的查询中,执行如下操作:

select  blabla
from    tbl
union all
select  'All'

(将“全部”指定为文字,因为它不存在于表中,使用联合将其与确实存在的值连接起来)

然后在使用所选下拉值的查询中,执行如下操作:

select  *
from    tbl
where   promptfield = promptvalue
union all
select  *
from    tbl
where   promptvalue = 'ALL'

请注意,当在下拉列表中选择“ALL”时,此联合中的第一个查询基本上不会返回任何结果,而第二个查询将运行并生成所有结果。 When something other than all is selected, it will be used as criteria, the first query will produce its results, and the 2nd will just return nothing, essentially doing what you want.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM