获取SQL列';s基于另一列的数据';s在C#中的数据

本文关键字:数据 SQL 于另一 获取 | 更新日期: 2023-09-27 18:25:01

我正在处理一个有2列的表(就本问题而言)。一列可以取1、2、3、4或5的值(仅用于指示另一列中数据的类别——可能有5个类别)。另一列只是包含一个字符串,例如"Grant1"。

文本列的标题是"标题",整数列的标题为"类别"

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

这就是我目前所拥有的:

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;", "");

获取SQL列';s基于另一列的数据';s在C#中的数据

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

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查询中对其进行排序。。。