文章收藏-FAQ 位置:电脑学习网

ASP 单表单字段多关键字查询

〈%
    Function SearshSQL(Tname,Lname,Str) ’Tname-表名 Lname-列名 Str-查询的字符
     If Trim(Str)=““ then
     MySql=“Select * From “&Tname
     Else
     Str=SqlEncode(Str)    ’预处理查询字符串
     ArrStr=split(Str,“ “)  ’用空格分割处理后字符串
     Umax=Ubound(ArrStr)   ’分割后数组上维,确定分割成关键词的个数
     If Umax〉0 Then    ’关键词中多个空格的处理,从第2维开始处理
      For i=1 to Umax
       StrTemp=ArrStr(i)
       If Trim(StrTemp)=““ Then StrTemp=“/~~~~~/“ ’分割成的元素为空用特殊字符代替
       Sql=Sql &“ Or “& Lname &“ like ’%“& StrTemp &“%’“
      Next
     End If

     MySql=“Select * From “& Tname &“ where “& Lname &“ like ’%“&ArrStr(0)&“%’“&Sql

     Do
       j=InStr(1,MySql, “%/~~~~~/%“,1)
       If j=0 Then
      Exit Do
       End If
       MySql=Replace(MySql,“ Or “&Lname&“ like ’%/~~~~~/%’“,““)
     Loop
     End IF

    SearshSQL=MySql

    end function

    Function SqlEncode(Str)  ’格式化字符串
    str=replace(str,“ “,“ “) ’先把左右的全角空格替换成半角空格
    str=trim(str)
    str=replace(str,“[“,“ “)
    str=replace(str,“’;“,“ “)
    str=replace(str,“’“,“ “)
    str=replace(str,“_“,“ “)
    str=replace(str,“%“,“ “)
    str=replace(str,“+“,“ “)
    str=replace(str,“ “,“ “)
    sqlencode=str
    end function
    %〉

    测试
    〈%=SearshSQL(“user“,“name“,“我们 相信 关键词  作弊 不是  SEO“)%〉

     [文章来源:“十万个为什么”电脑学习网]
     [网络地址:http://why100000.com]
     [版权声明:除本站部分特别声明禁止转载的专稿外,其他的文章可以自由转载,但请务必注明出处和原始作者。本站文章版权归文章原作者所有。如果本站转载的文章有版权问题请联系本站,我们会尽快予以更正。]
 

【字体:[大] [中] [小] 【加入收藏】 【发表评论】 【关闭本窗口】

Copyright © “十万个为什么”电脑学习网 2000-2007 陕ICP备06007929号
站务联系:MSN & Email:zhangking2008@gmail.com  QQ:9365822