1

保存された年間データを含むデータテーブルがあります。例えば

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 年のすべての月で、value=5 を使用したいと考えています。たとえば、私の日付が 02/01/2010 Feb 2010 の場合、私を返す必要があります

メソッドの使用datatable.select方法 効果的なフィルター表現が欲しい。

4

1 に答える 1

1

DataTable.Select(filterExpression) オーバーロード メソッドには、 Expressionプロパティを介して計算列を作成するために使用されるのと同じ構文を使用するパラメーター filterExpression が含まれています。

このコードを使用して、必要な行を取得できます

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") + "#");

year = 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()) + "#");
于 2012-06-14T13:09:07.763 に答える