关键字分解查询?!难....

153608789 2006-03-28 07:24:10
假若我在文本框中输入 "1 2" 注意,中间有空格, 表示我即可以找到和"1" 有关的字段,又可以找到和"2" 有关的字段,这样应该怎么实现 :
-------(参考)以下的一段代码检索的时候速度慢.... 我什么好方法吗?!
' 搜索Keywords字段
QueryString = Request.form( "QueryString" )
QueryWords = Split( QueryString )
sql = sql & " ) OR ( [Keywords] 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 [Keywords] LIKE '%" & QueryWords( i ) & "%'"
Else
sql = sql & " AND [Keywords] LIKE '%" & QueryWords( i ) & "%'"
End If
End If
Next
----------
...全文
163 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
153608789 2006-04-24
  • 打赏
  • 举报
回复
人啊
153608789 2006-04-11
  • 打赏
  • 举报
回复
QueryString = Request.form( "QueryString" )
QueryWords = Split( QueryString )
sibang,这样分解不是数组吗?! 能否写出来看看啊,还有,用户输入了 "1 2"(算是两个关键字) 我怎么判断用什么连接符(or and )
www_7di_net 2006-03-29
  • 打赏
  • 举报
回复
肯定慢了,我跟你说一下思路
你首先获取用户的搜索关键字输入,然后将其拆分成数组,
sql语句需要修改一下,千万别循环的open数据库,那样你的服务器是承受不住的,假象以下如果用户输入了一万个关键字呢,岂不是要开一万次数据库
zhanghongwen 2006-03-29
  • 打赏
  • 举报
回复
UP
md5e 2006-03-29
  • 打赏
  • 举报
回复
用正侧啊
创造奇迹9999 2006-03-28
  • 打赏
  • 举报
回复
那就把1和2分成两个关键字,SQL语句里面用两个LICK了,

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧