asp中如何实现多关键字的模糊查询?
asp中单个关键字的模糊查询我掌握了,但多个关键字如何实现呢?我指的是在同一个字段中查询,比如:字段数据“请对您的问题进行补充”,那么关键字:问题进行就可以查询到这个数据...
asp中单个关键字的模糊查询我掌握了,但多个关键字如何实现呢?
我指的是在同一个字段中查询,比如:
字段数据“请对您的问题进行补充”,那么关键字:
问题 进行
就可以查询到这个数据,而关键字:
问题 提问
就查不到这个数据。
还有就是,怎样将输入框中的两个或两个以上空格分开的关键字提取出来?
*:比如百度的这种查询方式如何用ASP实现。
————————————————————
悬赏分提高到200,谁能帮忙给个详细答案,那么这位高人,小弟的分就都给您了。
同时鄙视2楼进行更改,抄袭12楼的答案!!!!
同时鄙视2楼进行更改,抄袭12楼的答案!!!!
同时鄙视2楼进行更改,抄袭12楼的答案!!!!
各位继续!!! 展开
我指的是在同一个字段中查询,比如:
字段数据“请对您的问题进行补充”,那么关键字:
问题 进行
就可以查询到这个数据,而关键字:
问题 提问
就查不到这个数据。
还有就是,怎样将输入框中的两个或两个以上空格分开的关键字提取出来?
*:比如百度的这种查询方式如何用ASP实现。
————————————————————
悬赏分提高到200,谁能帮忙给个详细答案,那么这位高人,小弟的分就都给您了。
同时鄙视2楼进行更改,抄袭12楼的答案!!!!
同时鄙视2楼进行更改,抄袭12楼的答案!!!!
同时鄙视2楼进行更改,抄袭12楼的答案!!!!
各位继续!!! 展开
15个回答
展开全部
这样的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的程序不是抄袭别人的吗?
看了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的程序不是抄袭别人的吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下面引用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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样的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)
看了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)
看了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)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我明白你的意思,你的意思是用空格分开后两个词都要做条件
你可以用个个函数先把一个词分开成两个词
把一个字符串根据空格分成两个字符串的方法我也记不大清楚了,那位哥哥记得还希望发一下让小弟也学习学习
然后在用sqlstr="select * from [table] where 字段名 like '%"&关键字1&"%' and 字段名 like '%"&关键字2&"%'"
你可以用个个函数先把一个词分开成两个词
把一个字符串根据空格分成两个字符串的方法我也记不大清楚了,那位哥哥记得还希望发一下让小弟也学习学习
然后在用sqlstr="select * from [table] where 字段名 like '%"&关键字1&"%' and 字段名 like '%"&关键字2&"%'"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询