asp中如何实现多关键字的模糊查询?

asp中单个关键字的模糊查询我掌握了,但多个关键字如何实现呢?我指的是在同一个字段中查询,比如:字段数据“请对您的问题进行补充”,那么关键字:问题进行就可以查询到这个数据... asp中单个关键字的模糊查询我掌握了,但多个关键字如何实现呢?
我指的是在同一个字段中查询,比如:
字段数据“请对您的问题进行补充”,那么关键字:
问题 进行
就可以查询到这个数据,而关键字:
问题 提问
就查不到这个数据。
还有就是,怎样将输入框中的两个或两个以上空格分开的关键字提取出来?
*:比如百度的这种查询方式如何用ASP实现。
————————————————————
悬赏分提高到200,谁能帮忙给个详细答案,那么这位高人,小弟的分就都给您了。

同时鄙视2楼进行更改,抄袭12楼的答案!!!!
同时鄙视2楼进行更改,抄袭12楼的答案!!!!
同时鄙视2楼进行更改,抄袭12楼的答案!!!!
各位继续!!!
展开
 我来答
宁静又温文尔雅丶桃花4651
2005-06-23
知道答主
回答量:16
采纳率:0%
帮助的人:0
展开全部
这样的sql语句可以这样写:sql="select * from [tablename] where 字段名 like'%"&keyword1&"%' and 字段名 like'%"&keyword2&"%'"
看了5楼的答复,我补充一点如果你是想用空格分开后两个词都要做条件可以用keywordarr=split(keyword," ") keyword1=keywordarr(0)
keyword2=keywordarr(1);如果你是想实现4楼的搜索功能,好象用asp确实有难度。

以下为两个以上的空格分开的详细代码:
sql="select * from [tablename] where"
str="问题 进行 补充"
arr=split(str," ")
lenarr=ubound(arr)
for i=0 to lenarr
if i=lenarr then
temp=temp&" 字段名 like'%"&arr(i)&"%' "
else
temp=temp&" 字段名 like'%"&arr(i)&"%' and "
end if
next
newsql=sql&temp
response.Write(newsql)

2005-06-26 11:16:35
我今天又要做修改了,为的不是别的,而是要澄清一件事情,请问楼主为什么说是我抄袭12楼的,而不是12楼抄袭我的?象你现在遇到的问题,我在两年前就遇到了,不过这种解决问题的方法也不是我原创的,我也是通过读别人的代码才知道解决这种问题的方法,如果你非要说抄袭也不为过,人们在学习的过程中不就是在不断的学习前人的经验吗?难道你刚开始写的hello world的程序不是抄袭别人的吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
聪颖且果敢灬百花8109
2005-06-25
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
下面引用12楼答案,作一下补充:

12楼的回答确实不错,但有一个错误,就是最后一句
response.Write(newsql)
应该改成:
sql=newsql
这样就很不错了

还有就是精确查询用and 模糊查询用or

另外根据12楼的代码提供给楼主一个像百度一样,关键字显示红色的代码:

rs.Open sql,con,1,2
if not(rs.eof and rs.bof) then
while not rs.eof
dim a,b,c,d
for i=0 to lenarr
a=arr(i)
b="<font style=color:#e10900>"&a&"</font>"
if i=0 then
c="问题 进行 补充"
else
c=d
end if
d=Replace(c,a,b)
next
显示一个查询结果(比如response.write d)的代码
wend
else
response.write "没有找到"
end if
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
俊美还清淡的活宝6860
2005-06-24
知道答主
回答量:30
采纳率:0%
帮助的人:0
展开全部
这样的sql语句可以这样写:sql="select * from [tablename] where 字段名 like'%"&keyword1&"%' and 字段名 like'%"&keyword2&"%'"
看了5楼的答复,我补充一点如果你是想用空格分开后两个词都要做条件可以用keywordarr=split(keyword," ") keyword1=keywordarr(0)
keyword2=keywordarr(1);如果你是想实现4楼的搜索功能,好象用asp确实有难度。

以下为两个以上的空格分开的详细代码:
sql="select * from [tablename] where"
str="问题 进行 补充"
arr=split(str," ")
lenarr=ubound(arr)
for i=0 to lenarr
if i=lenarr then
temp=temp&" 字段名 like'%"&arr(i)&"%' "
else
temp=temp&" 字段名 like'%"&arr(i)&"%' and "
end if
next
newsql=sql&temp
response.Write(newsql)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2005-06-25
展开全部
这样的sql语句可以这样写:sql="select * from [tablename] where 字段名 like'%"&keyword1&"%' and 字段名 like'%"&keyword2&"%'"
看了5楼的答复,我补充一点如果你是想用空格分开后两个词都要做条件可以用keywordarr=split(keyword," ") keyword1=keywordarr(0)
keyword2=keywordarr(1);如果你是想实现4楼的搜索功能,好象用asp确实有难度。

以下为两个以上的空格分开的详细代码:
sql="select * from [tablename] where"
str="问题 进行 补充"
arr=split(str," ")
lenarr=ubound(arr)
for i=0 to lenarr
if i=lenarr then
temp=temp&" 字段名 like'%"&arr(i)&"%' "
else
temp=temp&" 字段名 like'%"&arr(i)&"%' and "
end if
next
newsql=sql&temp
response.Write(newsql)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wjcglgg
2005-06-23
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
我明白你的意思,你的意思是用空格分开后两个词都要做条件
你可以用个个函数先把一个词分开成两个词
把一个字符串根据空格分成两个字符串的方法我也记不大清楚了,那位哥哥记得还希望发一下让小弟也学习学习
然后在用sqlstr="select * from [table] where 字段名 like '%"&关键字1&"%' and 字段名 like '%"&关键字2&"%'"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(13)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式