查询数据表以获取C#中的特定行

时间:2013-06-17 08:51:49

标签: c# asp.net

我有数据表,其中包含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。

有更好的方法吗?

3 个答案:

答案 0 :(得分:2)

这样做

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

您需要指定列的数据类型,如r.Field<YourType>("ColumnName")

答案 1 :(得分:1)

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

输入&lt;&gt;将是您正在使用的参数类型

答案 2 :(得分:0)

var res = from r in dtt.AsEnumerable()
          where  r.Field<DateTime>("StartDate") == Convert.ToDateTime(drpStartYear.SelectedValue));
          select r.Field<double>("Amount");