【问题标题】:How to Get The Distinct Data From SQL in the Following Scenario?在以下场景中如何从 SQL 中获取不同的数据?
【发布时间】:2015-09-23 04:23:06
【问题描述】:

我有一个表Menu 具有递归的一对多关系。 该表包含菜单及其子菜单。

当我执行查询时,我得到了结果:

->Form.....Activity
->Form.....Report
->Review..Activity
->Review..Report

但我想将此信息存储在 C# 集合(列表/字典)中,格式如下。

->Form
  Activity
  Report
->Review
  Activity
  Report

注意:我在 C# 中使用 SQL-Data-Reader 从 SQL Server 2008 中检索信息。
我怎样才能做到这一点?

【问题讨论】:

  • 在问题中包含查询和您尝试过的代码。

标签: c# sql .net sql-server sql-server-2008


【解决方案1】:

由于没有代码,我将用文字解释我的答案。

您可以使用字典或哈希表来使用 C# 存储数据。

使用字典:

声明一个将存储键和值列表的字典,即

Dictionary<string, List<string>>  dicData = new Dictionary<string, List<string>> ();

然后当您查询返回数据时,您可以执行以下操作。假设您从 DataTable 中读取数据。

 Foreach(DataRow row in yourDataTable.Rows)
 {
      if(dicData.ContainsKey(row["firstColumn"]))
      {
         dicData[row["firstColumn"].ToString()].Add(row["secondColumn"].ToString());
      }
      else
      {
         List<string> list = new List<string>();
         list.Add(row["secondColumn"].ToString())

         dicData.Add(row["firstColumn"].ToString(), list)
      }
 }

注意:该代码未经测试,但它会让您了解您需要做什么。希望对你有帮助

【讨论】:

    猜你喜欢
    • 2020-05-19
    • 2012-01-25
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    相关资源
    最近更新 更多