如何按日期对列进行排序?

时间:2012-03-08 18:15:42

标签: c# asp.net sql

我想知道一种简单的方法来按添加日期对列进行排序,例如:

ID|Name|Age|Date
1  John 21  20/03/2012
2  Chart 22 21/03/2012
3  Dart  31 22/03/2012
4  Rat   12 23/03/2012

所以如果你知道我的意思,我想添加一个选项来对列的Date日期值进行排序。

感谢

2 个答案:

答案 0 :(得分:5)

您是否尝试使用Linq2Sql?如果是这样,你可以这样做:

var result = from x in MyDataTable
             orderby x.Date ascending
             select x;

ascending替换descending,如果你想让它走另一条路。)

如果您想对其进行排序,可以使用IQueryable<T>并选择排序,la:

IQueryable<MyDataTable> GetData(bool sortByDate)
{
    var result = from x in DataContext.Table<MyDataTable>
                 where SomeMatchingClause(x)
                 select x;

    if(sortByDate)
    {
        result = result.OrderBy(x => x.Date); // or OrderByDescending
    }

    return result;
}

如果您直接在SQL中查询,只需执行

SELECT * FROM MyTable ORDER BY Date ASC

(如果您希望将ASC改为DESC,请将其替换为string

我不经常在C#中将string GetSqlQuery(bool sortByDate) { string result = "SELECT * FROM MyTable"; if(sortByDate) { result += " ORDER BY Date ASC"; } return result; } 构建为SQL查询,但是如果你想让它成为可选项,我想你可以逐步构建查询,即使它真的很粗糙:

{{1}}

答案 1 :(得分:0)

在您的SQL查询中,按日期在DATE下订单