根据C#中的另一列数据获取SQL列的数据

时间:2013-07-25 19:01:50

标签: c# asp.net

我正在使用一个表(为了这个问题的目的)有2列。一列可以取值1,2,3,4或5(仅用于指示另一列中的数据类别 - 可能有5个类别)。另一列中只有一个字符串,例如“Grant1”。

文本列的标题是“标题”,整数列的标题是“类别”

我需要做的是根据Category列对行进行排序,然后将每行中的所有数据放在C#中的列表中。这样我以后可以使用List来查看属于该类别的所有Title数据。

这是我到目前为止所做的:

DataTable dt = AnimalGrants.Tables["AnimalGrants"];
    string columnName = "Title";
    List<string> ListOfAnimalGrantTitles = new List<string>();
    int i = 0;
    foreach (DataRow dr in dt.Rows)
    {
        ListOfAnimalGrantTitles.Add(dr.Table.Columns[i].ToString());
    }

我所拥有的功能不正常...我希望在上传之前确定其有效。任何SQL或C#专家都可以帮助我理解如何实现这一目标吗?我想我在这里有一个好的开始,但我害怕陷入语法错误。

DataSet AnimalGrants = tp.GetItems("CFHudsonGrants", "WHERE Category = 1;", "");

1 个答案:

答案 0 :(得分:0)

我有点困惑,但下面的代码应该在第一列中创建一个值列表,但是按照第2列中的值对该列表进行排序:

DataTable dt = AnimalGrants.Tables["AnimalGrants"];
string columnName = "Title";
List<string> ListOfAnimalGrantTitles = new List<string>();
int i = 0;
foreach (DataRow dr in dt.Rows.Cast<DataRow>().OrderBy(t => t[1]))
{
    ListOfAnimalGrantTitles.Add(dr[0]);
}

那就是说,你可能最好只在SQL查询中对它进行排序......