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

本文关键字:数据表 获取 查询 | 更新日期: 2023-09-27 18:18:37

>我有数据表,其中包含金额,开始日期的列。我正在尝试从基于开始日期的金额中获取特定金额值。

我的代码如下:

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是我从数据库填充的数据集。

有没有更好的方法?

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

像这样做

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

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

键入<>将是您使用的参数类型