asp模糊搜索问题
<%dimkeykey="国美"setrs1=server.CreateObject("adodb.recordset")rs1.open"select*fromnews...
<%
dim key
key="国美"
set rs1=server.CreateObject("adodb.recordset")
rs1.open "select * from news where htitle like '%"&key&"%' or title like '%"&key&"%' order by id desc",cn,1,1
%>
结果是关键字字段中有的全部出现 如果关键字过长
例如: <%
dim key
key="国美苏宁永乐"
set rs1=server.CreateObject("adodb.recordset")
rs1.open "select * from news where htitle like '%"&key&"%' or title like '%"&key&"%' order by id desc",cn,1,1
%>
一条记录都不出来,请问怎么解决? 展开
dim key
key="国美"
set rs1=server.CreateObject("adodb.recordset")
rs1.open "select * from news where htitle like '%"&key&"%' or title like '%"&key&"%' order by id desc",cn,1,1
%>
结果是关键字字段中有的全部出现 如果关键字过长
例如: <%
dim key
key="国美苏宁永乐"
set rs1=server.CreateObject("adodb.recordset")
rs1.open "select * from news where htitle like '%"&key&"%' or title like '%"&key&"%' order by id desc",cn,1,1
%>
一条记录都不出来,请问怎么解决? 展开
展开全部
key = Request.form( "key" )
QueryWords = Split( key )
strIndent = " "
sql="select * from news WHERE"
'搜索htitle字段
sql = sql & " ( [htitle] LIKE '%" & QueryWords( 0 ) & "%'" ' First
For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
If uCase( QueryWords( i-1 ) ) = "OR" Then
sql = sql & " OR [htitle] LIKE '%" & QueryWords( i ) & "%'"
Else
sql = sql & " AND [htitle] LIKE '%" & QueryWords( i ) & "%'"
End If
End If
Next
' 搜索Title字段
sql = sql & " ) OR ( [Title] LIKE '%" & QueryWords( 0 ) & "%'"
For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
If uCase( QueryWords( i-1 ) ) = "OR" Then
sql = sql & " OR [Title] LIKE '%" & QueryWords( i ) & "%'"
Else
sql = sql & " AND [Title] LIKE '%" & QueryWords( i ) & "%'"
End If
End If
Next
QueryWords = Split( key )
strIndent = " "
sql="select * from news WHERE"
'搜索htitle字段
sql = sql & " ( [htitle] LIKE '%" & QueryWords( 0 ) & "%'" ' First
For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
If uCase( QueryWords( i-1 ) ) = "OR" Then
sql = sql & " OR [htitle] LIKE '%" & QueryWords( i ) & "%'"
Else
sql = sql & " AND [htitle] LIKE '%" & QueryWords( i ) & "%'"
End If
End If
Next
' 搜索Title字段
sql = sql & " ) OR ( [Title] LIKE '%" & QueryWords( 0 ) & "%'"
For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
If uCase( QueryWords( i-1 ) ) = "OR" Then
sql = sql & " OR [Title] LIKE '%" & QueryWords( i ) & "%'"
Else
sql = sql & " AND [Title] LIKE '%" & QueryWords( i ) & "%'"
End If
End If
Next
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我理解你的意思鸟
你想搜索 国美苏宁永乐 关键词的时候
只含有 国美 字样的标题的新闻也会出现
只能告诉你,这需要一个字典,匹配的搜索程序。
总的来说 很难
你想搜索 国美苏宁永乐 关键词的时候
只含有 国美 字样的标题的新闻也会出现
只能告诉你,这需要一个字典,匹配的搜索程序。
总的来说 很难
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没错,看你的htitle 和 title 是否含有 "国美苏宁永乐" 了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询