在sql语句中,where 后有lm_id in数组里(Session["user_edit"]),语法上怎么实现?

解决方案 »

  1.   

    把Session先转换成数组,再把数组里的数据都取出,就可以了。
      

  2.   

    你把数组里面的每个循环取出来
    用,隔开
    然后就可以用SQL 的IN()了
      

  3.   

    ArrayList al = new ArrayList();
    string str="";
    for(int i=0;i<al.count;i++)
    {
      if(i==0)
       {
          str="'"+al[i].ToString()+"'";
       }
       else
       {
          str+=",'"+al[i].ToString()+"'";
       }
    }select * from test where id in ("+str+");
      

  4.   

    string aa="";
    string [] arr;
    arr=new string[5];
    arr[0]="3";
    arr[1]="4";
    .
    .
    .for (int i=0;i<arr.length;i++)
    {
      aa+=arr[i]+",";
    }
    session["bb"]=aa;
    "select * from table where id in("+session["bb"]+")"
      

  5.   

    回复人: yizhixiaozhu(一只小猪) ( ) 信誉:95  2005-03-09 09:15:00  得分: 0  
     
     
       你把数组里面的每个循环取出来
    用,隔开
    然后就可以用SQL 的IN()了
      
     
    ==正解。
      

  6.   

    string[] aa = new string[]{"1","2","3","4"};
    Session["user_edit"] = aa;          //给Session赋值
    string[] bb = (string[])Session["user_edit"];
    string c = "";
    for(int i = 0; i < bb.Length; i++)
    {
    if(i==0)
       {
          c += bb[i];
       }
       else
       {
          c += bb[i];
       c += ",";
       }
    }c即是where 后有lm_id in后里的值
      

  7.   

    楼上的各位,如果lm_id等于001,in后面的值等于(001001,001002,002003),查询出的结果是有记录的,但是实际上该查询结果不正确。
      

  8.   

    改一下string[] aa = new string[]{"1","2","3","4"};
    Session["user_edit"] = aa;          //给Session赋值
    string[] bb = (string[])Session["user_edit"];
    string c = "";
    for(int i = 0; i < bb.Length; i++)
    {
    if(i==0)
       {
          c += bb[i];
       }
       else
       {c += ",";
          c += bb[i];
       
       }
    }
    里面的值就是那样的啊."如果lm_id等于001,in后面的值等于(001001,001002,002003)"
    楼主的意思是什么?
      

  9.   

    不要用数组了
    直接用一个string类型的,把里面的id都用,号搁开,这样你放到session中后
    在别的地方调用 就可以直接写成 "where id not id(" + (string)Session["idArray"] + ")"最后你在做这样的string的时候一定要小心不要写错了,如果这个string最后或者最前的字符是“,”的话一定要过滤到,不然sql会抱错!