使用Select()过滤数据表

时间:2013-10-17 05:07:44

标签: c# vb.net datatable

我有一个DataTable(dt)为

 StartDate    EndDate    Price
  1              3          10
  4              6          12
  7              10          16
  11             15          20

我想过滤fromdate = 2和todate = 8之间日期的值。

所以我期待结果是

 StartDate         EndDate     Price
      1              3          10
      4              6          12
      7              10         16

我使用了vb Datatable Select as->

dt.Select("StartDate <= #" & fromdate& "# And EndDate >= #" & todate& "#")

但我没有得到结果。你可以建议我..

3 个答案:

答案 0 :(得分:2)

您的查询应该是这样的:

dt.Select("StartDate <= #" & todate & "# And EndDate >= #" & fromdate & "#")

查找与您的范围重叠的记录。

答案 1 :(得分:1)

应该是

dt.Select("StartDate >= " & fromdate & " And EndDate <= " & todate)

两个问题

  1. 你的经营者都错了。您使用的startdate小于2且大于8,而它应该是startdate大于2且小于8

  2. 不需要#假设列是整数类型。

答案 2 :(得分:-1)

使用DateDiff功能,我的朋友