使用其他数据集的值筛选数据集

本文关键字:数据集 筛选 其他 | 更新日期: 2023-09-27 18:05:47

我有dataset1,其中一列是clientid。我想根据从表值sql函数返回的客户端来过滤它。(我想我可以从c#代码调用sql函数,并在dataset2中存储结果。sql函数返回一列的cilentids。

我希望得到的数据集只有那些客户端id包含在dataset2中的行。

请帮忙!

使用其他数据集的值筛选数据集

您可以使用Linq to Dataset来获取行。本例从id为2和4的数据表中获取行。

        var dt = new DataTable();
        dt.Columns.Add("id", typeof(int));
        dt.Columns.Add("value");
        dt.Rows.Add(1, "test1");
        dt.Rows.Add(2, "test2");
        dt.Rows.Add(3, "test3");
        dt.Rows.Add(4, "test4");
        int[] idfilter = new[] { 2, 4 };
        var filteredrows = dt.AsEnumerable().Where(f => idfilter.Contains(f.Field<int>("id")));
        foreach (var row in filteredrows)
            Console.WriteLine(row["id"]);
        Console.ReadLine();