0

Windows フォーム アプリを Access DB に接続していますが (うーん、わかりました)、linq クエリで何も返されません。

var matchDateField = from myRow in boilerDT.AsEnumerable()
                     where myRow.Field<DateTime>("EntryDate").ToShortDateString() == dateTimePicker1.Value.ToShortDateString()
                     select myRow;

助言がありますか?

4

1 に答える 1

0

すべての行を取得します。

IEnumerable<DataRow> dateFieldQuery =
                    from myRow in boilerDT.AsEnumerable()
                    select myRow;

日付でフィルタ:

IEnumerable<DataRow> matchDateField =
                dateFieldQuery.Where(p => p.Field<DateTime>("EntryDate").Date == dateTimePicker1.Value);

ここでは、複数のクエリを結合したり、クエリを拡張したりできる遅延実行を使用しています。クエリが拡張されると、新しい操作が含まれるように変更され、最終的な実行に変更が反映されます。

最初のクエリはすべての行を返し、2 番目のクエリは Where を使用して最初のクエリを拡張し、特定の日付のすべての行を返します。

于 2012-06-01T13:53:29.183 に答える