.net做一个模糊查询
select * customer where user_id like %@user_id%
传过去是一个数组参数,在赋值的时候用的是参数数组。
在执行的时候会把模糊查询的%%给去掉了!
没有到达预期的效果!
请大家帮忙解决一下 。存储过程也没用成功!
不知道是不是写错了。有代码的贡献一下啊!
 谢谢

解决方案 »

  1.   

    sql不支持数组的,这个比较麻烦哦...你可以这样搞,把@user_id当成一个字符串,并把它格式化,比如",1,2,3,4,5,"
    然后把user_id也格式化,比如1的话就格式化成",1,"这时你再来Like就OK了.
      

  2.   

    select * customer where user_id like '%"@user_id"%'好像应该是这样写法 
      

  3.   

    sql不支持数组。你可以把你的什么数组怎么传的代码贴一下,大家给你看看怎么改
      

  4.   

    你可以在程序里做:传一个数组参数,用For 循环拼出个SQL
    当然了你也可以做得通用点,把表名,字段名,要不要排序也当参数传过去
    你还可以在数据库里用存储过程,参数为表名,字段名
    放心完全能做到的,可惜代码在公司家里没有
    你问是不是写错了,我好像觉得少了个from
      

  5.   


    应该是这样 select * customer where user_id like '%"+@user_id+“%'  如果该字段时字符的时候
    要是数值 而且是在数组中的话  应该这样
    select * customer where user_id like @user_id
    @user_id="[";
    for(int i=0;i<Array.length;i++)
    {
    @user_id += Array[i] + ","
    }
    @user_id += "]"
    这样应该可以的吧    但是醉意 最后一个参数后  还多了一个 , 截取删除 掉就好拉我是小菜鸟!  说的不好清见谅,  希望能够帮到你!