我有一个整数数组。我想在selectCommand中使用该数组来形成“IN”子句(“WHERE Cli.ID IN(1,2,3,4)”)。我试图将数组转换为字符串(下面的代码),但(合理地)不起作用。
我找到了this KB article from 2005,但建议的解决方法使我的眼睛流血。
有一种简单而优雅的方式来做到这一点,我错过了吗?当然,这是一件很普通的事情吗?
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;