0

我已经制作了一个数据集,需要使用IN子句,如下例所示

这是我的查询:

select field1,field2 from tablename where id **IN** (@ids)  

对于上述查询,id参数的数量不固定,并且每次都在变化

现在我想在数据集中使用它。

我不知道怎么用

我需要在 Visual Studio 2010 数据集环境中使用 IN。

我想知道如何将@ids 替换为 1、2、3、4,...?

4

2 回答 2

3

您可以使用LINQ to DataTable

var list = new[] { 1, 2, 3, 4, 5 };
var result = dataTable.AsEnumerable()
                      .Where(row => list.Contains(row.Field<int>("Id"));
于 2012-10-31T14:58:27.557 回答
0

试试这个方法

     public DataSet GetDataSet(string ConnectionString, string SQL)
{
    SqlConnection conn = new SqlConnection(ConnectionString);
    SqlDataAdapter da = new SqlDataAdapter();
    SqlCommand cmd = conn.CreateCommand();
    cmd.CommandText = "YOU SQL QUERY WITH WHERHE";
    da.SelectCommand = cmd;
    DataSet ds = new DataSet();

    conn.Open();
    da.Fill(ds);
    conn.Close();

    return ds;
}
于 2012-11-05T14:46:28.730 回答