我有一个整数数组。我想在我的 selectCommand 中使用该数组来形成一个“IN”子句(“WHERE Cli.ID IN (1,2,3,4)”)。我试图将数组转换为字符串(下面的代码),但这(足够合理)不起作用。
我从 2005 年找到了这篇 KB 文章,但建议的解决方法让我流血了。
有没有一种我想念的简单而优雅的方法来做到这一点?当然,这是一件很常见的事情吗?
string iDlist = "";
for (int i = 0; i < MyIDs.Length; i++)
{
iDlist += Convert.ToString(MyIDs[i]) + (i == 0 ? "" : ",");
}
this.sqlDataAdapter1.SelectCommand.CommandText = StandardQuery + @" where Cli.ID in (@iDlist)";
this.sqlDataAdapter1.SelectCommand.Parameters.Clear();
this.sqlDataAdapter1.SelectCommand.Parameters.Add(new SqlParameter("@iDlist", SqlDbType.VarChar));
this.sqlDataAdapter1.SelectCommand.Parameters["@iDlist"].Value = iDlist;