用途:文章表内文章关键字查询 查询格式: 百度 google 百度好还是google好 百度+google (也可不输入条件全部查询) <!--#include file="conn.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 %> <% sql=SearshSQL("article","coments","萝卜+白菜 狗熊") +"order by..(排序)" Set rs=Server.Createobject("ADODB.RECORDSET") rs.Open sql,conn,1,1 if not rs.eof then 下面的自己写
推荐阅读
ASP下存储过程编写入门全接触第1/5页
ASP与存储过程(Stored Procedures)的文章不少,但是我怀疑作者们是否真正实践过。我在初学时查阅过大量相关资料,发现其中提供的很多方法实际操作起来并不是那么回事。对于简单的应用,这些资料也许是有帮助的,>>>详细阅读
本文标题:比较不错的asp单表单字段多条件查询
地址:http://www.17bianji.com/kaifa2/ASP/32382.html
1/2 1