2

我有一个整数数组。我想在我的 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;
4

0 回答 0