【问题标题】:How to remove column in DataSet and distinct rows to find only group names?如何删除 DataSet 中的列和不同的行以仅查找组名?
【发布时间】:2009-05-10 14:27:50
【问题描述】:

我有 3 列的 DataSet。

Name    -    insurance comp. name     -     treatmentDate
Ali Boz      SGK                            12.04.09
Ali Boz      SGK                            14.04.09
Ali Boz      SGK                            16.04.09
Ali Boz      SGK                            18.04.09
Veli Aş      AKBANK                         10.04.09
Veli Aş      AKBANK                         11.04.09
Veli Aş      AKBANK                         12.04.09
Veli Aş      AKBANK                         13.04.09
Cuneyt Sel   ING BANK                       01.05.09
Cuneyt Sel   ING BANK                       02.05.09
Cuneyt Sel   ING BANK                       05.05.09
Cuneyt Sel   ING BANK                       19.05.09

我想首先只找到保险补偿。名字

SGK
AKBANK
ING BANK

然后我想按名称和日期排序

但是数据集中的所有这些东西(因为我想从 db 中检索所有行)。

你对我有什么建议吗?

【问题讨论】:

  • 您使用的是哪个版本的 C#? VS2008/C#3?

标签: c# dataset distinct dataview


【解决方案1】:

如果您可以使用 LINQ,这将为您提供保险公司名称:

var Names = (from Row in YourDataSet.YourTable
             select Row.InsuranceCompanyName).Distinct();

如果需要,您还可以根据需要添加.ToArray().ToList()orderby

如果您无法使用 LINQ 或更改 SQL 调用,则为 more complicated

【讨论】:

  • 是的,你是对的。当我搜索 Linq To DataSet dll 时,我发现了这个:“LINQ 的命名空间现在是 System.Linq。System.Data.Extensions.dll 已被 System.Data.DataSetExtensions.dll 替换。此外,而不是 ToQueryable ,你应该使用 AsEnumerable。”
  • 你让它工作了吗?如果没有,您能否用错误和代码更新您的问题?
【解决方案2】:

不确定您的具体要求,但要检索保险公司名称,您可以简单地执行以下操作:

SELECT DISTINCT [insurance comp. name]
FROM [tablename]

按照您提到的对所有记录进行排序:

SELECT *
FROM [tablename]
ORDER BY [insurance comp. name], [name], [treatmentdate]

【讨论】:

    【解决方案3】:

    使用 DataView.ToTable 非常简单:

    DataView view = new DataView(table);
    DataTable distinctTable = view.ToTable(true, "insurance comp. name");
    

    【讨论】:

      猜你喜欢
      • 2016-11-05
      • 2010-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-18
      • 2018-02-05
      • 1970-01-01
      相关资源
      最近更新 更多