我有一个表Menu
具有递归的一对多关系。
该表包含菜单及其子菜单。
当我执行查询时,我得到了结果:
->Form.....Activity
->Form.....Report
->Review..Activity
->Review..Report
但我希望将此信息存储在C#集合(列表/字典)中,格式如下。
->Form
Activity
Report
->Review
Activity
Report
注意:我在C#中使用SQL-Data-Reader从SQL Server 2008中检索信息 我怎样才能做到这一点?
答案 0 :(得分:0)
由于没有代码我会用文字解释我的答案。
您可以使用字典或散列表来使用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)
}
}
NB:代码未经过测试,但可以让您了解需要执行的操作。希望它有所帮助