加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

融合asp和存储过程做的搜索程序

发布时间:2023-04-20 13:56:33 所属栏目:Asp教程 来源:
导读:比较复杂,可以支持多种逻辑符,包括 + - and or 空格等,并且根据需要随便增加。可以根据条件选择在那个表中搜索,对速度也做了优化,可以说是很快的。当然因为是以前写的,存在不少毛病。存储过程中用到几乎所有sq
比较复杂,可以支持多种逻辑符,包括 + - and or 空格等,并且根据需要随便增加。可以根据条件选择在那个表中搜索,对速度也做了优化,可以说是很快的。当然因为是以前写的,存在不少毛病。存储过程中用到几乎所有sql server的特性,如光标(记录集分页)等。好了,不吹了,自己看程序吧。
 
asp 函数
 
复制代码 代码如下:
 
  function AnalyseKeyword(a_strSource)
 
      dim m_strDest , m_intLoop
 
      dim m_intBeginPos , m_intEndPos
 
      dim m_strHead , m_strMiddle , m_strTail
 
      m_strDest = a_strSource
 
      '------------------------------处理空格------------------------------------------------------
 
      '首先去掉头尾空格
 
      m_strDest = ltrim(rtrim(m_strDest))
 
      '将& , " and " 等替换成 +、 -、空格
 
      m_strDest = replace(m_strDest , "&" , "+")
 
      m_strDest = replace(m_strDest , " AND " , "+")
 
      m_strDest = replace(m_strDest , " OR " , chr(32))
 
      m_strDest = replace(m_strDest , " NOT " , "-")  
 
      '初始化变量,以使下面的循环进行
 
      m_intBeginPos = 1
 
      do while m_intBeginPos <> 0
 
         m_intBeginPos = instr(m_strDest ,chr(32))
 
         if m_intBeginPos <> 0 then               '如果找到空格
 
            m_strHead = rtrim(ltrim(left ( m_strDest , m_intBeginPos )))
 
            call print("[AnalyseKeyword()]:处理空格m_strHead = " + m_strHead)
 
            m_strTail = rtrim(ltrim(right (m_strDest , len(m_strDest) - m_intBeginPos)))
 
            call print("[AnalyseKeyword()]:处理空格m_strTail = " + m_strTail)
 
            m_strDest = m_strHead + "*" + m_strTail
 
         else
 
            exit do
 
         end if
 
      loop                
 
      m_strDest = replace (m_strDest , "*" , chr(32))    
 
      call print("[AnalyseKeyword()]:处理空格完毕后m_strDest = " + m_strDest)
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章