用途:文章表内文章关键字查询
查询格式:百度google百度好还是google好百度+google(也可不输入条件全部查询)
<>
<%
FunctionSearshSQL(Tname,Lname,Str)'Tname-表名Lname-列名Str-查询的字符
IfTrim(Str)=""then
MySql="Select*From"&Tname
Else
Str=SqlEncode(Str)'预处理查询字符串
ArrStr=split(Str,"")'用空格分割处理后字符串
Umax=Ubound(ArrStr)'分割后数组上维,确定分割成关键词的个数
IfUmax>0Then'关键词中多个空格的处理,从第2维开始处理
Fori=1toUmax
StrTemp=ArrStr(i)
IfTrim(StrTemp)=""ThenStrTemp="/~~~~~/"'分割成的元素为空用特殊字符代替
Sql=Sql&"Or"&Lname&"like'%"&StrTemp&"%'"
Next
EndIf
MySql="Select*From"&Tname&"where"&Lname&"like'%"&ArrStr(0)&"%'"&Sql
Do
j=InStr(1,MySql,"%/~~~~~/%",1)
Ifj=0Then
ExitDo
EndIf
MySql=Replace(MySql,"Or"&Lname&"like'%/~~~~~/%'","")
Loop
EndIF
SearshSQL=MySql
endfunction
FunctionSqlEncode(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
endfunction
%>
<%
sql=SearshSQL("article","coments","萝卜+白菜狗熊")+"orderby..(排序)"
Setrs=Server.Createobject("ADODB.RECORDSET")
rs.Opensql,conn,1,1
ifnotrs.eofthen
下面的自己写