查询DataTable

时间:2012-06-14 12:41:11

标签: vb.net ado.net

我有一个包含年度数据的数据表。 e.g。

dtDate                      Value
2010-01-01 00:00:00.000     5.0000
2011-01-01 00:00:00.000     15.0000
2012-01-01 00:00:00.000     25.0000
2013-01-01 00:00:00.000     35.0000
2014-01-01 00:00:00.000     45.0000

现在我想将这个数据表用于月度流程。因此,对于2010年的所有月份,我想使用值= 5。例如如果我的约会时间是2010年2月2日02/01/20它应该给我回复

如何使用datatable.select方法?我想要一些有效的过滤表达式。

1 个答案:

答案 0 :(得分:1)

DataTable.Select(filterExpression)重载方法包含参数filterExpression,该参数使用与通过Expression属性创建计算列的语法相同的语法。

您可以使用此代码获取所需的行

Dim dt as DateTime dt = new DateTime(2010,1,1,0,0,0)
Dim r as DataRow() r = DataTable.Select("dtDate = #" + dt.ToString("yyyy-MM-dd") + "#");

如果您的目的是让2010年的记录通过年份= 2010的任何日期,那么您可以使用此语法

' Supposing date passed is 1/May/2010 and you want the record with 2010 as year.
Dim dt as DateTime dt = new DateTime(2010,5,1,0,0,0)  
Dim r as DataRow() r = DataTable.Select("dtDate = #01/01/" + dt.Year.ToString()) + "#");