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

  用途:文章表内文章关键字查询

  查询格式: 百度 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

  下面的自己写