我想知道一种简单的方法来按添加日期对列进行排序,例如:
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日期值进行排序。
感谢
答案 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下订单