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");

  • 相关阅读:
    url 和 php变量传值的关系
    PHpstudy 怎么也启动不了?
    坚决不要360的全盘扫描
    用户邮件可以翻译的-drupal
    drupal网站被黑
    firefox加载不来
    转-潭的感悟
    register globals php
    $GLOBALS -- 变量
    array_merge AaCc
  • 原文地址:https://www.cnblogs.com/wayne-ivan/p/3966997.html
Copyright © 2011-2022 走看看