比较不错的asp单表单字段多条件查询

时间:2021-05-18

用途:文章表内文章关键字查询
查询格式:百度google  百度好还是google好 百度+google (也可不输入条件全部查询)


<!--#includefile="conn.asp"-->
<%
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

下面的自己写

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章