• C#中使用mysql数据库Like语句参数化解决方案 parameter like


    sql 语句进行 like参数化,按照正常的方式是无法实现的
    我们一般的思维是:

    string sql = "SELECT * FROM Person WHERE City LIKE'%@add%'";
    var Parameters=new SqlParameter[]{new SqlParameter("@add", "成都")};

    这样写是不成功的

    网上给出的建议是:

    string sql = "SELECT * FROM Person WHERE City LIKE'%'+@add+'%'";
    var Parameters=new SqlParameter[]{new SqlParameter("@add", "成都")};

    退!退!退!达咩!达咩!达咩哟!

    这样写也是大错特错!!!

    再继续百度,查到需要CONCAT进行连接‘%’ 、 ‘@add’、'%'

    string sql = "SELECT * FROM Person WHERE City LIKE CONCAT('%', @add,'%') ";
    var Parameters=new SqlParameter[]{new SqlParameter("@add", "成都")};

    这样才可以正常运行。

    在执行SQL的过程中%会被添加单引号。

  • 相关阅读:
    生成函数代替伯努利数
    关于费用流
    GDOI注意事项
    计算几何 学习笔记
    jzoj5370
    图上的游戏
    小学生语文题
    arcane
    P2305 [NOI2014] 购票
    P3512 [POI2010]PIL-Pilots
  • 原文地址:https://www.cnblogs.com/RCJL/p/16374612.html
Copyright © 2020-2023  润新知