asp 多字段模糊搜索的函数多字段模糊搜索的函数
比较简单直接的sql语句
Recordset1.Source = "SELECT * FROM 表 WHERE 字段 LIKE '%" + Replace(Recordset1__MMColParam, "'", "''") + "%' or 字段2 like '%" +
Replace(Recordset1__MMColParam, "'", "''") + "%' ORDER BY id DESC"
Recordset1.Source = "SELECT * FROM 表 WHERE 字段 LIKE '%" + Replace(Recordset1__MMColParam, "'", "''") + "%' and 字段2 = 2 ORDER BY id
DESC"
下面是一些补充
函数名:keyword_sousuo
作 用:生成sql查询条件
参 数:table_field —— 表的字段名(之间用逗号分开)
keyword —— 搜索关键词(之间用空格分开)
返 回:sql查询条件
核心代码
'==================================================
'函数名:keyword_sousuo
'作 用:生成sql查询条件
'参 数:table_field ------ 表的字段名(之间用逗号分开)
' keyword ------ 搜索关键词(之间用空格分开)
'返 回:sql查询条件
'==================================================
function keyword_sousuo(byval table_field,byval keyword)
dim str01,str02,keywords,table_fields,i,j
table_fields=split(trim(table_field),",")
keywords=split(trim(keyword),",")
if table_field<>"" then
str01="("&table_fields(0)&" like '%"&keyword&"%'"
for j=0 to ubound(table_fields)
str01=str01&" or "&table_fields(j)&" like '%"&keyword&"%'"
next
str01=str01&")"
else
response.Write("<script>alert('参数错误(不能为空)!')</script>")
response.End()
end if
'全角--》半角 空格
'keyword=replace(keyword," "," ")
'while InStr(keyword," ")>0
' keyword=replace(keyword," "," ")
'wend
keywords=split(keyword," ")
if ubound(keywords)>0 then
for i=0 to ubound(keywords)
str02=str02&"("&table_fields(0)&" like '%"&keywords(i)&"%'"
for j=1 to ubound(table_fields)
str02=str02&" or "&table_fields(j)&" like '%"&keywords(i)&"%'"
next
str02=str02&")"
next
str02="("&replace(str02,")(",")and(")&")"
keyword_sousuo="(" & str01 & "or" & str02 & ")"
else
keyword_sousuo=str01
end if
end function
'==================================================
'函数名:keyword_tag
'作 用:将字符串里的关键词标记为红色
'参 数:str ------ 字符串
' keyword ------ 标记关键词(之间用空格分开)
'返 回:字符串(html格式)
评论0
最新资源