| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 985 人关注过本帖
标题:asp多字段查询语句“或”“和”
只看楼主 加入收藏
hebss
Rank: 2
等 级:论坛游民
帖 子:19
专家分:23
注 册:2009-10-12
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:5 
asp多字段查询语句“或”“和”
表DD,字段1 sheng,字段2 shi,字段3 id,查询关键字 key,查询条件:可能包含sheng和shi,或者只包含sheng或shi,比如:sheng=河北,shi=石家庄,查询关键字为:河北石家庄,或河北,或石家庄,请问这样的查询语句该怎么写,
sheng=河北或山东或河南等等
shi=石家庄或衡水或济南或郑州等等
关键字设为“Key”
if sql_filter(Trim(Request.Form("key")))="" and key="" then
 errinfo="<li>请输入搜索关键字!"
 call showError()
else
 if (not sql_filter(Trim(Request.Form("key")))="") and key="" then
  Response.Redirect "?key="&Trim(Request.Form("key"))
  Response.Flush
 end if
end if

sql = "Select * from [DD] where  shi like '%"&key&"%' or  sheng like '%"&key&"%'"
set rs=server.CreateObject("adodb.recordset")
 rs.open sql,conn,1,1

if rs.eof or rs.bof then
 rs.close
 set rs=nothing
 errinfo="在<font color=red>"&key&"</font>没有找到<br><a href=so.asp?act=s>请重新搜索</a>。"
 call showError()
end if
数据库:[local]1[/local]
现在的情况是只能分开搜,比如:河北 或石家庄 如果换成   
sql = "select  *  from shop_nclass where '"&key&"' like '%' + province + '%' + city + '%'"
只能合到一起搜了,比如:河北石家庄
搜索更多相关主题的帖子: 或”“和 字段 语句 asp 查询 或”“和 字段 语句 asp 查询 
2010-10-25 12:06
hebss
Rank: 2
等 级:论坛游民
帖 子:19
专家分:23
注 册:2009-10-12
收藏
得分:0 
改正一下:换成
sql = "select  *  from shop_nclass where '"&key&"' like '%' + sheng + '%' + shi+ '%'"
只能合到一起搜了,比如:河北石家庄,分开搜河北或石家庄就不能用了

[url=www.]www.[/url]   [url=www.]www.[/url]
2010-10-25 13:33
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
收藏
得分:10 
key是个字段名吧,有必要加引号么?

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2010-10-25 14:38
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
收藏
得分:0 
sheng="河北"
shi="石家庄"
'add为地址字段
sql = "select  *  from shop_nclass where add like '"&sheng&"' or add like '"&shi&"' or add like '"&sheng&shi&"'"


俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2010-10-25 14:42
gupiao175
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:40
帖 子:1787
专家分:7527
注 册:2007-6-27
收藏
得分:10 
请问楼主,你想实现什么功能。像百度那样允许中间空格吗? 河北 石家庄  是这样吗?

如果是,那么你可以常识分割法:代码如下:
str="河北 石家庄"
arr=split(str,&nbsp)或arr=split(str," ");'依据判断可以一个空格也可以多个!
sql = "Select * from [DD] where  shi like '%"&arr(1)&"%' or  sheng like '%"&arr(0)&"%'"
类似这样操作试试!

Q:1428196631,百度:开发地 即可找到我,有事请留言!
2010-10-25 15:01
hebss
Rank: 2
等 级:论坛游民
帖 子:19
专家分:23
注 册:2009-10-12
收藏
得分:0 
已经解决了,我是在百度知道里找人帮忙解决了,
把红色代码换成 sql = "select * from [DD] where sheng+shi like '%" & keyword & "%'"
谢谢两位版主的帮助,另key为关键词,我要的结果是:搜河北省或河北省石家庄或石家庄,都能搜到,没有考虑到空格的问题。

[url=www.]www.[/url]   [url=www.]www.[/url]
2010-10-25 16:28
快速回复:asp多字段查询语句“或”“和”
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011926 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved