zoukankan      html  css  js  c++  java
  • C# 参数化SQL语句中的like和in

    在写项目的时候遇到一个问题,sql 语句进行 like in 参数化,按照正常的方式是无法实现的
    我们一般的思维是:

    Like 参数:
    string strSql = "select * from Person.Address where City like '%@add%'";
    SqlParameter[] Parameters=new SqlParameter[1];
    Parameters[0] = new SqlParameter("@add", "bre");

    In 参数
    string strSql = "select * from Person.Address where AddressID in (@add)";
    SqlParameter[] Parameters = new SqlParameter[1];
    Parameters[0] = new SqlParameter("@add", "343,372,11481,11533,11535,11755,11884,12092,12093,12143");

    可是这样放在程序里面是无法执行的,即使不报错,也是搜索不出来结果的,
    去网上搜索也没有一个明确的答案,经过反复试验,终于解决这个问题
    正确解法如下:

    like 参数
    string strSql = "select * from Person.Address where City like '%'+ @add + '%'";
    SqlParameter[] Parameters=new SqlParameter[1];
    Parameters[0] = new SqlParameter("@add", "bre");
     
    in 参数
    string strSql = "exec('select * from Person.Address where AddressID in ('+@add+')')";
    SqlParameter[] Parameters = new SqlParameter[1];
    Parameters[0] = new SqlParameter("@add", "343,372,11481,11533,11535,11755,11884,12092,12093,12143");

  • 相关阅读:
    好久没更新
    基于slick grid做infinite scroll(2)
    基于slick grid做infinite scroll(1)
    用REST访问ALM的Servlet
    Angularjs中provider,factory和service的不同
    粗糙版斗破苍穹网络阅读器
    将斗破苍穹按章分隔
    实战第一个云程序
    js变量提升
    Thread
  • 原文地址:https://www.cnblogs.com/wayne-ivan/p/3966997.html
Copyright © 2011-2022 走看看