ASP+SQL多条件查询判断是否为空的代码

boycsp 2008-03-10 10:41:34
一共需要接收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
%>
...全文
432 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wolflove23 2008-03-11
  • 打赏
  • 举报
回复
boycsp 2008-03-10
  • 打赏
  • 举报
回复
就是有问题啊~
请教高人给个例子或帮我写个啊
  • 打赏
  • 举报
回复
代码写的还可以,你这里不是有这个吗response.write strsql

打印出来直接放到查询分析器中执行一下不就知道对错了吗
zzxap 2008-03-10
  • 打赏
  • 举报
回复

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  " 

if SubmitUser <> "" and renbaoid="" and FactoryName="' and CarNum="" then
strsql=strsql& "where SubmitUser like'%"& SubmitUser &"%' "
else
if SubmitUser <> "" and renbaoid<>"" and FactoryName="' and CarNum="" then
strsql=strsql& "where SubmitUser like'%"& SubmitUser &"%' renbaoid like'%"& renbaoid &"%' "
else
if

.
.
.
下面的雷同


end if
end if
boycsp 2008-03-10
  • 打赏
  • 举报
回复
谢谢
可是还是不行啊~
md5e 2008-03-10
  • 打赏
  • 举报
回复
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' "
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
strsql=strsql &" ORDER by TaskComeTime DESC"
BoyHaXin 2008-03-10
  • 打赏
  • 举报
回复
。。。。JF就来。。

28,408

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧