sql中"where id in 集合",这个集合用什么表示,ArrayList还是int数组?

feyyee 2010-08-23 01:02:31
sql中"where id in 集合",这个集合用什么表示,ArrayList还是int数组?

我有一个sql要处理,用到了"where id in 集合",相当于批处理。
我之前建立了一个ArrayList

ArrayList ids = new ArrayList();
ids.Add("1"); // 注意,原代码中存的是字符串1,而不是数字1
ids.Add("2");

...

string sql = string.Format("update td set count = count +1 where id in {0}",ids);


有问题,请问该怎样处理这样的问题?
...全文
286 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2010-08-23
  • 打赏
  • 举报
回复


var ids = (new[] { "1", "2", "3" }).Aggregate((a, b) => a + "," + b);
string sql = string.Format("update td set count = count +1 where id in ({0})", ids);
RHCL 2010-08-23
  • 打赏
  • 举报
回复
实际运行的sql语句是:

update td set count = count +1 where id in ('1','2');...

你的数组要转字符串
另,sql中使用 in 去匹配效率不怎么样,如果 in (这里的条件很多的话建议还是用exist吧)

110,533

社区成员

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

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

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