我定义了一个数组,将其保存到Session里(在线等待)

marysxj 2005-03-09 09:06:16
在sql语句中,where 后有lm_id in数组里(Session["user_edit"]),语法上怎么实现?
...全文
254 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
marysxj 2005-03-09
  • 打赏
  • 举报
回复
楼上的各位,如果lm_id等于001,in后面的值等于(001001,001002,002003),查询出的结果是有记录的,但是实际上该查询结果不正确。
3gold 2005-03-09
  • 打赏
  • 举报
回复
就是,把数组循环读出在in就是了
test234 2005-03-09
  • 打赏
  • 举报
回复
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后里的值
老汉 2005-03-09
  • 打赏
  • 举报
回复
回复人: yizhixiaozhu(一只小猪) ( ) 信誉:95 2005-03-09 09:15:00 得分: 0


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


==正解。
flyskywlh 2005-03-09
  • 打赏
  • 举报
回复
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"]+")"
xiaozikuge 2005-03-09
  • 打赏
  • 举报
回复
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+");
yizhixiaozhu 2005-03-09
  • 打赏
  • 举报
回复
你把数组里面的每个循环取出来
用,隔开
然后就可以用SQL 的IN()了
test234 2005-03-09
  • 打赏
  • 举报
回复
把Session先转换成数组,再把数组里的数据都取出,就可以了。
forover 2005-03-09
  • 打赏
  • 举报
回复
不知,帮顶~
niunj 2005-03-09
  • 打赏
  • 举报
回复
不要用数组了
直接用一个string类型的,把里面的id都用,号搁开,这样你放到session中后
在别的地方调用 就可以直接写成 "where id not id(" + (string)Session["idArray"] + ")"

最后你在做这样的string的时候一定要小心不要写错了,如果这个string最后或者最前的字符是“,”的话一定要过滤到,不然sql会抱错!
test234 2005-03-09
  • 打赏
  • 举报
回复
改一下

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)"
楼主的意思是什么?

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧