0

我正在尝试使用 LINQ 从数据表中获取一行。它似乎得到了记录,但我无法使用它。不知道我做错了什么。我的 LINQ 查询如下:

IEnumerable<DataRow> query = 
      from myRow in dataTable.AsEnumerable()
      where myRow.Field<int>("AM2MIN") <= Convert.ToInt32(minimumValue) &&
            myRow.Field<int>("AM2MAX") >= Convert.ToInt32(minimumValue)
      select myRow;

当我执行以下操作以查看是否存在任何记录时,它会出错。

if (query.Any())
{

}

InvalidCastException似乎是一致的错误。

任何帮助深表感谢!

4

1 回答 1

0

看起来您的某个字段不包含整数值。

验证Data Type这些列。还要验证它们是否允许 Null。如果数据类型为int,但允许为空,则转换为可为空的 int:myRow.Field<int?>("AM2MIN")并验证它是否具有值。

于 2012-11-16T21:24:16.957 回答