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
%> 展开
第二页是结果显示页面: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
%> 展开
展开全部
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 "¶m&" 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,那么推荐存储过程。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询