C# 对datatable结果使用SQL函数

C# 对datatable结果使用SQL函数,c#,datatable,C#,Datatable,我有一个带有DATETIME列的数据库表。我想做的是确定记录的日期部分是否与今天的日期部分相同。但是,我有一个datatable对象,不能使用daUsage.Select和SQL函数DATEPART 所以我要问的是,是否有一种方法可以在不使用select函数的情况下过滤数据表中的结果。如果可能的话,怎么做?我可以使用LINQ,但我对它还很陌生,我觉得一定有更好的方法 谢谢您可以用它检查您的日期是否在今天0点到第二天0点之间: string selectString = String.Format

我有一个带有DATETIME列的数据库表。我想做的是确定记录的日期部分是否与今天的日期部分相同。但是,我有一个datatable对象,不能使用daUsage.Select和SQL函数DATEPART

所以我要问的是,是否有一种方法可以在不使用select函数的情况下过滤数据表中的结果。如果可能的话,怎么做?我可以使用LINQ,但我对它还很陌生,我觉得一定有更好的方法

谢谢

您可以用它检查您的日期是否在今天0点到第二天0点之间:

string selectString = String.Format("DateColumn >= '{0}' AND DateColumn < '{1}'",
                      DateTime.Today.ToString(DateTimeFormatInfo.InvariantInfo), 
                      DateTime.Today.AddDays(1).ToString(DateTimeFormatInfo.InvariantInfo));
bool hasTodayRecords = dt.Select(selectString).Length > 0;

显示一些代码,它比阅读所有这些文本更容易理解!如何填充数据表?在某种程度上,这必须来自一个
SELECT
查询,您可以在datatable看到它之前应用一个过滤器或添加一个额外的列。如果你只是指着一张桌子,也许你可以用一个角度来代替。谢谢你的帮助。。。这似乎就是我要找的。因为我不想包括第二天,所以不应该是DateColumn<'{1}'吗?@Andreas:我已经编辑过了。但是使用

bool hasTodayRecords = dt.AsEnumerable().
     Any(r => DateTime.Today.Equals(((DateTime)r["DateColumn"]).Date));