当前位置:首页>>开发编程>>ASP>>新闻内容  |虚拟主机 主机托管
ASP单表单字段多关键字查询
作者:陕西SEO 发布时间:2007-9-27 12:48:44 | 【字体:

<%
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
%>

测试
<%=SearshSQL("user","name","我们 相信 关键词  作弊 不是  SEO")%>

发表上去把单引号变全角了,所以附源码上来。
 

文章来源:einit
·ASP的escape和unescape函数
·使用AspUpload组件上传事例代码
·Godaddy虚拟主机使用AspUpload组件的方法
·怎样解决ASP图片上传漏洞的方法
·ASP里面的四舍五入函数Round和FormatNumber
·ASP 程序实现自动升级功能
·chr码值对应列表大全
·用正则表达式搜索网页手机号码和Email
·ASP在线转flv+所略图+flash在线录制视频
·让163网易相册QQ相册里的照片也能外链
 放生
 愚爱
 够爱
 触电
 白狐
 葬爱
 光荣
 画心
 火花
 稻香
 小酒窝
 下雨天
 右手边
 安静了
 魔杰座
 你不像她
 边做边爱
 擦肩而过
 我的答铃
 怀念过去
 等一分钟
 放手去爱
 冰河时代
 你的承诺
 自由飞翔
 原谅我一次
 吻的太逼真
 左眼皮跳跳
 做你的爱人
 一定要爱你
 飞向别人的床
 爱上别人的人
 感动天感动地
 心在跳情在烧
 玫瑰花的葬礼
 有没有人告诉你
 即使知道要见面
 爱上你是一个错
 最后一次的温柔
 爱上你是我的错
 怎么会狠心伤害我
 不是因为寂寞才想
 亲爱的那不是爱情
 难道爱一个人有错
 寂寞的时候说爱我