首页新闻找找看学习计划

C#里写带参数的IN语句,求教。

-1
[已解决问题] 解决于 2013-11-13 18:11

select count(1) from table1 where id in (12,52,45)

这个id的值是一个不确定的数组,请问C#里怎么写这些带参数的?

Eysa的主页 Eysa | 初学一级 | 园豆:68
提问于:2013-10-25 09:29
< >
分享
最佳答案
0
 var num = new[] {1, 2, 3, 5};
            // string.Join(",", num)  把数组里的数字用“,” 分割 如1, 2, 3, 5
            var sql = string.Format("select count(1) from table1 where id in ({0})", string.Join(",", num));
View Code
奖励园豆:5
rize | 菜鸟二级 |园豆:217 | 2013-10-25 17:00
其他回答(5)
0
  public void ParaTest(string A, string B, string C, params string[] D)
    {

    }

 

用参数数组,调用这个方法时,最后一个参数D,可以接受N个string

happydaily | 园豆:581 (小虾三级) | 2013-10-25 09:48
0

把参数拼接成字符串。。

jone_e | 园豆:1410 (小虾三级) | 2013-10-25 10:22
0

你都确定id是个数组了,那直接把数组传到方法里就可以了, public void ParaTest(string[] id)

Zery | 园豆:6066 (大侠五级) | 2013-10-25 10:43
0

你是说in后面括号里的个数不确定吗  直接拼字符串啊  要是不行可以学一楼  随便传  然后再拼接  不过我觉的直接传拼接好的得了  

Moulton | 园豆:206 (菜鸟二级) | 2013-10-25 16:07
0
string ids=string.empty;

foreach(string a in 数组)

{

  ids=ids+a+",";

}

ids=ids.trim(",")

string sql="select count(1) from table1 where id in ("+ids+")"
+小马哥++ | 园豆:906 (小虾三级) | 2013-10-25 16:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册