sql 在网页中调用长where条件语句会出错,请高手指点

tony811201 2007-01-25 10:54:10
我如何才能把下面的长语句调入sql的where条件中,因为下面在DW中显示三横,调入时会显示出错,如果我删除一些条件,变成一横,sql就显示正常。
但是我用sql查询器查询下面的条件是正常的~~
我不知道如何处理,搞了好几天,一直没有好的解决办法~
请各位高手指点.


下面是where条件语句
isOOS=1 and isAction=1 and ( ClassID like '%#182#,%' or ClassID like '%#9#,%' or ClassID like '%#10#,%' or ClassID like '%#11#,%' or ClassID like '%#20#,%' or ClassID like '%#21#,%' or ClassID like '%#27#,%' or ClassID like '%#29#,%' or ClassID like '%#30#,%' or ClassID like '%#31#,%' or ClassID like '%#32#,%' or ClassID like '%#33#,%' or ClassID like '%#35#,%' or ClassID like '%#36#,%' or ClassID like '%#38#,%' or ClassID like '%#39#,%' or ClassID like '%#40#,%' or ClassID like '%#41#,%' or ClassID like '%#42#,%' or ClassID like '%#43#,%' or ClassID like '%#44#,%' or ClassID like '%#45#,%' or ClassID like '%#46#,%' or ClassID like '%#47#,%' or ClassID like '%#48#,%' or ClassID like '%#49#,%' or ClassID like '%#50#,%' or ClassID like '%#51#,%' or ClassID like '%#55#,%' or ClassID like '%#57#,%' or ClassID like '%#58#,%' or ClassID like '%#84#,%' or ClassID like '%#85#,%' or ClassID like '%#86#,%' or ClassID like '%#87#,%' or ClassID like '%#204#,%' or ClassID like '%#205#,%' or ClassID like '%#174#,%' or ClassID like '%#189#,%' or ClassID like '%#191#,%' or ClassID like '%#206#,%' or ClassID like '%#207#,%' or ClassID like '%#250#,%' or ClassID like '%#253#,%' or ClassID like '%#255#,%' or ClassID like '%#272#,%' or ClassID like '%#291#,%' or ClassID like '%#292#,%' or ClassID like '%#295#,%' or ClassID like '%#296#,%' or ClassID like '%#299#,%' or ClassID like '%#305#,%' or ClassID like '%#317#,%' or ClassID like '%#26#,%' or ClassID like '%#353#,%' or ClassID like '%#355#,%' or ClassID like '%#374#,%' or ClassID like '%#375#,%' or ClassID like '%#378#,%' or ClassID like '%#380#,%' or ClassID like '%#183#,%' or ClassID like '%#218#,%' or ClassID like '%#184#,%' or ClassID like '%#185#,%' or ClassID like '%#186#,%' or ClassID like '%#219#,%' or ClassID like '%#220#,%' or ClassID like '%#221#,%' or ClassID like '%#222#,%' or ClassID like '%#223#,%' or ClassID like '%#225#,%' or ClassID like '%#226#,%' or ClassID like '%#227#,%' or ClassID like '%#228#,%' or ClassID like '%#231#,%' or ClassID like '%#232#,%' or ClassID like '%#238#,%' or ClassID like '%#244#,%' or ClassID like '%#245#,%' or ClassID like '%#246#,%' or ClassID like '%#247#,%' or ClassID like '%#248#,%' or ClassID like '%#249#,%' or ClassID like '%#254#,%' or ClassID like '%#261#,%' or ClassID like '%#263#,%' or ClassID like '%#274#,%' or ClassID like '%#280#,%' or ClassID like '%#281#,%' or ClassID like '%#282#,%' or ClassID like '%#283#,%' or ClassID like '%#288#,%' or ClassID like '%#293#,%' or ClassID like '%#309#,%' or ClassID like '%#313#,%' or ClassID like '%#354#,%' or ClassID like '%#316#,%' or ClassID like '%#338#,%' or ClassID like '%#339#,%' or ClassID like '%#239#,%' or ClassID like '%#242#,%' or ClassID like '%#287#,%' or ClassID like '%#290#,%' or ClassID like '%#320#,%' or ClassID like '%#323#,%' or ClassID like '%#325#,%' or ClassID like '%#349#,%' or ClassID like '%#351#,%' or ClassID like '%#352#,%')
...全文
227 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
motorrock 2007-01-25
  • 打赏
  • 举报
回复
搂主写的sql语句维护起来也够痛苦的,像bjyangjm(咚咚)做下缩进吧
hymxtang 2007-01-25
  • 打赏
  • 举报
回复
可先检查,后执行~
Response.write(sql)
Response.end()
kele1006 2007-01-25
  • 打赏
  • 举报
回复
这个代码不可以优化么?
看下你like的什么东西
然后,想想是否可以换个语句,这里面用很多个or的却不是很好的想法
deknight 2007-01-25
  • 打赏
  • 举报
回复
我晕,顶一下bjyangjm(咚咚) ,可真有耐心....
danis_cn 2007-01-25
  • 打赏
  • 举报
回复
汗!!!!!!!

真是够长!!!!!!!!1

cow8063 2007-01-25
  • 打赏
  • 举报
回复
汗中!!!!这样的话用存诸过程吧
jm 2007-01-25
  • 打赏
  • 举报
回复
把查询条件拆开写到sql字符串变量中,然后执行sql字符串就可以了
sql = " select form "
sql = sql + " where isOOS=1 and isAction=1 and ( "
sql = sql + " ClassID like '%#182#,%' or ClassID like '%#9#,%' or ClassID like '%#10#,%' or ClassID like '%#11#,%' or "
sql = sql + " ClassID like '%#20#,%' or ClassID like '%#21#,%' or ClassID like '%#27#,%' or ClassID like '%#29#,%' or "
sql = sql + " ClassID like '%#30#,%' or ClassID like '%#31#,%' or ClassID like '%#32#,%' or ClassID like '%#33#,%' or "
sql = sql + " ClassID like '%#35#,%' or ClassID like '%#36#,%' or ClassID like '%#38#,%' or ClassID like '%#39#,%' or "
sql = sql + " ClassID like '%#40#,%' or ClassID like '%#41#,%' or ClassID like '%#42#,%' or ClassID like '%#43#,%' or "
sql = sql + " ClassID like '%#44#,%' or ClassID like '%#45#,%' or ClassID like '%#46#,%' or ClassID like '%#47#,%' or "
sql = sql + " ClassID like '%#48#,%' or ClassID like '%#49#,%' or ClassID like '%#50#,%' or ClassID like '%#51#,%' or "
sql = sql + " ClassID like '%#55#,%' or ClassID like '%#57#,%' or ClassID like '%#58#,%' or ClassID like '%#84#,%' or "
sql = sql + " ClassID like '%#85#,%' or ClassID like '%#86#,%' or ClassID like '%#87#,%' or ClassID like '%#204#,%' or "
sql = sql + " ClassID like '%#205#,%' or ClassID like '%#174#,%' or ClassID like '%#189#,%' or ClassID like '%#191#,%' or "
sql = sql + " ClassID like '%#206#,%' or ClassID like '%#207#,%' or ClassID like '%#250#,%' or ClassID like '%#253#,%' or "
sql = sql + " ClassID like '%#255#,%' or ClassID like '%#272#,%' or ClassID like '%#291#,%' or ClassID like '%#292#,%' or "
sql = sql + " ClassID like '%#295#,%' or ClassID like '%#296#,%' or ClassID like '%#299#,%' or ClassID like '%#305#,%' or "
sql = sql + " ClassID like '%#317#,%' or ClassID like '%#26#,%' or ClassID like '%#353#,%' or ClassID like '%#355#,%' or "
sql = sql + " ClassID like '%#374#,%' or ClassID like '%#375#,%' or ClassID like '%#378#,%' or ClassID like '%#380#,%' or "
sql = sql + " ClassID like '%#183#,%' or ClassID like '%#218#,%' or ClassID like '%#184#,%' or ClassID like '%#185#,%' or "
sql = sql + " ClassID like '%#186#,%' or ClassID like '%#219#,%' or ClassID like '%#220#,%' or ClassID like '%#221#,%' or "
sql = sql + " ClassID like '%#222#,%' or ClassID like '%#223#,%' or ClassID like '%#225#,%' or ClassID like '%#226#,%' or "
sql = sql + " ClassID like '%#227#,%' or ClassID like '%#228#,%' or ClassID like '%#231#,%' or ClassID like '%#232#,%' or "
sql = sql + " ClassID like '%#238#,%' or ClassID like '%#244#,%' or ClassID like '%#245#,%' or ClassID like '%#246#,%' or "
sql = sql + " ClassID like '%#247#,%' or ClassID like '%#248#,%' or ClassID like '%#249#,%' or ClassID like '%#254#,%' or "
sql = sql + " ClassID like '%#261#,%' or ClassID like '%#263#,%' or ClassID like '%#274#,%' or ClassID like '%#280#,%' or "
sql = sql + " ClassID like '%#281#,%' or ClassID like '%#282#,%' or ClassID like '%#283#,%' or ClassID like '%#288#,%' or "
sql = sql + " ClassID like '%#293#,%' or ClassID like '%#309#,%' or ClassID like '%#313#,%' or ClassID like '%#354#,%' or "
sql = sql + " ClassID like '%#316#,%' or ClassID like '%#338#,%' or ClassID like '%#339#,%' or ClassID like '%#239#,%' or "
sql = sql + " ClassID like '%#242#,%' or ClassID like '%#287#,%' or ClassID like '%#290#,%' or ClassID like '%#320#,%' or "
sql = sql + " ClassID like '%#323#,%' or ClassID like '%#325#,%' or ClassID like '%#349#,%' or ClassID like '%#351#,%' or "
sql = sql + " ClassID like '%#352#,%') "
真是够长的,效率一定很低
jm 2007-01-25
  • 打赏
  • 举报
回复
如果没有必要使用“%”的话,可以考虑使用IN作为查询条件,可以简化一些
比如你说的:某一个产品所属类别是#22#,#231#,#42#
sql = " SELECT * FROM TableName "
sql = sql + " WHERE isOOS=1 and isAction=1 and ClassID IN (#22#,#231#,#42#) "
IN 可以理解为OR的一种简写方式。
tony811201 2007-01-25
  • 打赏
  • 举报
回复
大家有什么好的介意也可以提提~~小弟在此谢过~~~
最主要的是产品有多类别选择(比如一个产品可以属于多类)
某一个产品所属类别是#22#,#231#,#42#,
无限级类别都在一张表里,产品有3K多条,以后还要继续加
希望大家帮我想想办法~,谢谢~~
tony811201 2007-01-25
  • 打赏
  • 举报
回复
谢谢大家耐心指点,特别是bjyangjm(咚咚) 我很高兴~~
其实我也不想这样~
当初没有考虑类别会这么多,现在不可能重新修改网站,只有在原由的基础上加强,客户只要结婚不要过程,郁闷
可是存储过程我不会写~
因为这个是利用了叶子的分页类存储过程
所以只有把条件带进去就行了~~
刚才试了一下bjyangjm(咚咚)的效果,还是不行,郁闷了~~

28,391

社区成员

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

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