stringstrField="id|className|classAdd";
stringstrKeyWords=this.tbxKeyWords.Text.Trim();
stringstrSql=dbexe.searchText("select*fromclass",strField,strKeyWords);
经常用到多字段的模糊查询,上面的函数可以实现,例如strKeyWords值为“查字典教程网”时,可以输出:
select*fromclasswhereidlike'%查字典教程网%'orclassNamelike'%查字典教程网%'orclassAddlike'%查字典教程网%'
函数:
///<summary>
///根据关键字实现多字段模糊查询
///</summary>
///<paramname="sqlStr">select*fromtalbesql语句</param>
///<paramname="sqlText">判断语句条件,是一个用|隔开的字符串</param>
///<paramname="keywords">关键字</param>
publicstaticstringsearchText(stringstrSql,stringstrField,stringkeywords)
{
StringBuildersb=newStringBuilder(strSql);
if(strField!=string.Empty)
{
sb.Append("where");
string[]arrKey=strField.Split('|');
for(inti=0;i<arrKey.Length;i++)
{
sb.Append(arrKey[i]+"like'%"+keywords+"%'or");
}
stringstr=sb.ToString();
//去除最后一个"or"
if(str.IndexOf("or")>=0)
{
returnstr.Remove(str.LastIndexOf("or"));
}
returnstr;
}
returnstrSql;
}