精美而实用的网站,关注web编程技术、网站运营、SEO推广,让您轻松愉快的学习

ASP结合数据库实现的单表、单字段、多关键字查询实例,感觉写成函数更方便些,青岛星网把其封装成了1个函数,方便后期直接调用,大家可以参考学习下写法。

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
%>
Tags:ASP 模糊搜索