| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1992 人关注过本帖
标题:asp模糊搜索问题!请教!
只看楼主 加入收藏
wyy1490
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2006-9-27
收藏
 问题点数:0 回复次数:21 
asp模糊搜索问题!请教!
小妹最近新编写了一个模糊搜索的asp页面,希望达到的效果是
数据库数据:123N—123或D123—123
希望能用123***123的格式;即用“*”查询
不知道能不能达到这种效果!
还请各位指点!
搜索更多相关主题的帖子: asp 搜索 模糊 
2006-09-27 11:35
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
使用通配符

1、% 包含零个或更多字符的任意字符串。 WHERE title LIKE '%computer%' 将查找处于书名任意位置的包含单词 computer 的所有书名。
2、_(下划线) 任何单个字符。 WHERE au_fname LIKE '_ean' 将查找以 ean 结尾的所有 4 个字母的名字(Dean、Sean 等)。
3、[ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。 WHERE au_lname LIKE '[C-P]arsen' 将查找以arsen 结尾且以介于 C 与 P 之间的任何单个字符开始的作者姓氏,例如,Carsen、Larsen、Karsen 等。
4、[^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。 WHERE au_lname LIKE 'de[^l]%' 将查找以 de 开始且其后的字母不为 l 的所有作者的姓氏。


例如:"like '"&replace(varkey,"*","%")&"'"

[此贴子已经被作者于2006-9-27 13:00:18编辑过]

2006-09-27 12:57
wyy1490
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2006-9-27
收藏
得分:0 
我用了通配符“%”,但是没有用!
达不到那种效果!
if lph<>"" then
sql=sql&"and lph like '%"&lph&"%'"
end if
大家帮帮忙阿!工作需要阿!

天天好心情!
2006-09-27 13:08
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
仔细看看 除了% 还有其他的
就像windows*代表任意?代表一个
2006-09-27 13:11
wyy1490
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2006-9-27
收藏
得分:0 
多谢指点!
不过*,%我都试过了,都没有用!所以现在处于郁闷期呢!
该查的资料也查了不少了

天天好心情!
2006-09-27 13:21
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
_试过了没有_

[此贴子已经被作者于2006-9-27 13:26:23编辑过]


2006-09-27 13:26
wyy1490
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2006-9-27
收藏
得分:0 
试过了,不行,所以我才郁闷呢!

天天好心情!
2006-09-27 13:34
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
你输的关键字是什么 还有 sql语句发上来看看
2006-09-27 13:45
wyy1490
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2006-9-27
收藏
得分:0 

sql="select * from ABB where 1=1"
if ID<>"" then
sql=sql&"and ID like '%"&ID&"%' "
end if

if lph<>"" then
sql=sql&"and lph like '*"&lph&"*'"
end if

if gg<>"" then
sql=sql&"and gg like '%"&gg&"%' "
end if

if code<>"" then
sql=sql&"and gh like '%"&code&"%' "
end if

if code1<>"" then
sql=sql&"and hd like '%"&code1&"%' "
end if

if number<>"" then
sql=sql&"and number like '%"&number&"%' "
end if

if zs<>"" then
sql=sql&"and zs like '%"&zs&"%' "
end if

if ts<>"" then
sql=sql&"and ts like '%"&ts&"%' "
end if

if bz<>"" then
sql=sql&"and bz like '%"&bz&"%' "
end if

sql=sql&" order by "&OrderField&" "&Order

rs.open sql,conn,1,1

if err.number<>0 then
call MsgBox("数据库中无数据","Back","None")
response.End
end if

if rs.eof And rs.bof then
call MsgBox("对不起,找不到你所需的信息!","Back","None")
response.End
else
totalPut=rs.recordcount


天天好心情!
2006-09-27 13:54
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
sql=sql&"and lph like '*"&lph&"*'"
错误 *不是sql的通配符

sql=sql&"and ID like '%"&ID&"%' "
如果是数字 就要用id="&id&"

要实现123***123效果 比如关键字输入123***123 sql语句应该是
sql=sql&" and str like '"&replace(str,"*","_")&"'"
2006-09-27 14:08
快速回复:asp模糊搜索问题!请教!
数据加载中...
 
   



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

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