繁体   English   中英

在以下情况下如何从SQL获取不同的数据?

[英]How to Get The Distinct Data From SQL in the Following Scenario?

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

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

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

但是我想以以下格式将这些信息存储在C#集合(列表/字典)中。

->Form
  Activity
  Report
->Review
  Activity
  Report

注意:我正在C#中使用SQL-Data-Reader从SQL Server 2008中检索信息。
我该如何实现?

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

您可以使用字典或哈希表来使用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)
      }
 }

注意:该代码未经测试,但可以使您了解需要执行的操作。 希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM