0

Amount、StartDateという列を持つデータテーブルがあります。StartDate に基づいて Amount から特定の金額の値を取得しようとしています。

私のコードは次のとおりです。

DataTable dtt =_dstt.Tables[0];
var res = from r in dtt.AsEnumerable()
          where  r.Field("StartDate") == Convert.ToDateTime(drpStartYear.SelectedValue));
          select r.Field("Amount");

次のエラーが表示されます:

メソッド 'System.Data.DataRowExtensions.Field(System.Data.DataRow, int)' の型引数は、使用法から推測できません。型引数を明示的に指定してみてください。

_dsst は、データベースから入力する DataSet です。

それを行うより良い方法はありますか?

4

3 に答える 3

3

このようにしてください

DataTable dtt =_dstt.Tables[0];
var res = from r in dtt.AsEnumerable()
where  r.Field<DateTime>("StartDate") == Convert.ToDateTime(drpStartYear.SelectedValue));
select r.Field<Double>("Amount");

このように列の DataType を指定する必要がありますr.Field<YourType>("ColumnName")

于 2013-06-17T08:53:39.837 に答える
1
var res = from r in dtt.AsEnumerable()
          where  r.Field<DateTime>("StartDate") == Convert.ToDateTime(drpStartYear.SelectedValue));
          select r.Field<double>("Amount");
于 2013-06-17T08:53:27.537 に答える