asp.net 多字段模糊查询代码

(编辑:jimmy 日期: 2024/10/5 浏览:2)

string strField = "id|className|classAdd";
string strKeyWords = this.tbxKeyWords.Text.Trim();
string strSql = dbexe.searchText("select * from class", strField, strKeyWords);
经常用到多字段的模糊查询,上面的函数可以实现,例如strKeyWords值为“”时,可以输出:
select * from class where id like '%%' or className like '%%' or classAdd like '%%' 
函数:
/// <summary>
/// 根据关键字实现多字段模糊查询
/// </summary>
/// <param name="sqlStr">select * from talbe sql语句</param>
/// <param name="sqlText">判断语句条件,是一个用|隔开的字符串</param>
/// <param name="keywords">关键字</param>
public static string searchText(string strSql, string strField, string keywords)
{
    StringBuilder sb = new StringBuilder(strSql);
    if (strField != string.Empty)
    {
        sb.Append(" where ");
        string[] arrKey = strField.Split('|');
        for (int i = 0; i < arrKey.Length; i++)
        {
            sb.Append(arrKey[i] + " like '%" + keywords + "%' or ");
        } 
        string str = sb.ToString();

        //去除最后一个"or"
        if (str.IndexOf("or") >= 0)
        {
            return str.Remove(str.LastIndexOf("or"));
        }
        return str;
    }
    return strSql;

}
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。