ASP SQL多条件查询问题

做了2个页面,上图是第一页a.asp第二页是结果显示页面:b.aspb.asp代码如下:我这样只能筛选类型,如何实现筛选上面所有的文本框里的内容,如果空就忽略,是改哪个位... 做了2个页面,上图是第一页a.asp
第二页是结果显示页面:b.asp
b.asp代码如下:我这样只能筛选类型,如何实现筛选上面所有的文本框里的内容,如果空就忽略,是改哪个位置的代码?
<%
Dim sssss__MMColParam
sssss__MMColParam = "1"
If (Request.Form("lx") <> "") Then
sssss__MMColParam = Request.Form("lx")
End If
%>
<%
Dim sssss
Dim sssss_cmd
Dim sssss_numRows

Set sssss_cmd = Server.CreateObject ("ADODB.Command")
sssss_cmd.ActiveConnection = MM_conn_STRING
sssss_cmd.CommandText =(是改这里的SQL语句么???) "SELECT * FROM zaizhi WHERE leixing = ? ORDER BY tanwei ASC"
sssss_cmd.Prepared = true
sssss_cmd.Parameters.Append sssss_cmd.CreateParameter("param1", 200, 1, 5, sssss__MMColParam) ' adVarChar

Set sssss = sssss_cmd.Execute
sssss_numRows = 0
%>
展开
 我来答
南极潇湘水
2015-09-30 · 本人专业生产bug一百年
南极潇湘水
采纳数:515 获赞数:999

向TA提问 私信TA
展开全部
dim sql,param:param=" 1=1 "        '注意前后空格
If (Request.Form("lx")    <> "") Then 
    param = param & " and leixing="&Request.Form("lx")&" "   
End If
'以下类似
'.....
If (Request.Form("telphone")    <> "") Then 
    param = param & " and telphone="&Request.Form("telphone")&" "   
End If
sql="SELECT * FROM zaizhi WHERE "&param&" ORDER BY tanwei ASC"
'下面用到就调用sql
sssss_cmd.CommandText=sql
'这代码槽点真多
追问
不能直接在sql那句里改么? 
就是想做筛选功能,
我想知道用SQL能不能 selet * from zaizhi (后面这里怎么判断是否空,空就忽略该项,不空的要进行筛选) 用case可以么?还是其他if else判断等等???
追答

sql里if else只是控制流程,做选择可以用case,

CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END

但是不推荐,不说这么多条件写起来那个坑爹,sql运算就不能使用索引,再者sql注入怎么办--要不要过滤?

这些问题最好是在程序里解决,而不是放到sql里去运行。

若一定要写进sql,那么推荐存储过程。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式