我已经制作了一个数据集,需要使用IN子句,如下例所示
这是我的查询:
select field1,field2 from tablename where id **IN** (@ids)
对于上述查询,id参数的数量不固定,并且每次都在变化
现在我想在数据集中使用它。
我不知道怎么用
我需要在 Visual Studio 2010 数据集环境中使用 IN。
我想知道如何将@ids 替换为 1、2、3、4,...?
我已经制作了一个数据集,需要使用IN子句,如下例所示
这是我的查询:
select field1,field2 from tablename where id **IN** (@ids)
对于上述查询,id参数的数量不固定,并且每次都在变化
现在我想在数据集中使用它。
我不知道怎么用
我需要在 Visual Studio 2010 数据集环境中使用 IN。
我想知道如何将@ids 替换为 1、2、3、4,...?
您可以使用LINQ to DataTable
:
var list = new[] { 1, 2, 3, 4, 5 };
var result = dataTable.AsEnumerable()
.Where(row => list.Contains(row.Field<int>("Id"));
试试这个方法
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;
}