ASP+SQL多条件查询判断是否为空的代码
一共需要接收4个值,要查询这4个SubmitUser,renbaoid,FactoryName,CarNum的所有在数据酷中的数据。但是除SubmitUser外都可以为空。请教这段代码应该怎么写啊?
下面是我自己写的,是否有错啊?
<%
UserName = request("UserName")
renbaoID = request("renbaoID")
SubmitUser = request("SubmitUser")
CarNum = request("CarNum")
FactoryName=Request("FactoryName")
strsql="SELECT dbo.Task.RenBaoID, dbo.Task.FactoryName, dbo.Task.CarNum, dbo.MoneyClass.money AS ClassName, dbo.Task.SubmitUser, dbo.Task.TaskComeTime, dbo.Task.State FROM dbo.Task INNER JOIN dbo.MoneyClass ON dbo.Task.Class = dbo.MoneyClass.Class where SubmitUser='"&SubmitUser&"' and renbaoid='"&renbaoid&"' and FactoryName='"&FactoryName&"' and CarNum='"&CarNum&"' and State<>'5' ORDER by TaskComeTime DESC"
if SubmitUser <>"" then
strsql=strsql& "and SubmitUser like'%"& SubmitUser &"%' "
end If
if renbaoid <>"" then
strsql=strsql& "and renbaoid like'%"& renbaoid&"%' "
end if
if FactoryName <>"" then
strsql=strsql& "and FactoryName like'%"& FactoryName&"%' "
end If
if CarNum <>"" then
strsql=strsql& "and CarNum like'%"& CarNum&"%' "
end If
'response.write strsql
' 定义变量,很好的习惯
Set rstXML = Server.CreateObject("ADODB.Recordset")
Set rstXML = Application("cnnXML").Execute(strsql)
' 保存xml各式的文件.
Response.ContentType = "text/xml"
Response.Charset = "gb2132"
'Response.Write"<?xml version=""1.0"" ?>"
rstXML.Save Response, 1
Response.Flush
' 关闭数据库连接,释放对象
rstXML.Close
Set rstXML = Nothing
%>