zoukankan      html  css  js  c++  java
  • SQL In和Like 参数化

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

  • 相关阅读:
    zoj 3627#模拟#枚举
    Codeforces 432D Prefixes and Suffixes kmp
    hdu 4778 Gems Fight! 状压dp
    CodeForces 379D 暴力 枚举
    HDU 4022 stl multiset
    手动转一下田神的2048
    【ZOJ】3785 What day is that day? ——KMP 暴力打表找规律
    poj 3254 状压dp
    C++中运算符的优先级
    内存中的数据对齐
  • 原文地址:https://www.cnblogs.com/haoshuai1950/p/5674155.html
Copyright © 2011-2022 走看看