我正在尝试使用 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
似乎是一致的错误。
任何帮助都非常感谢!
看起来您的某个字段不包含整数值。
验证这些列Data Type
。还要验证是否允许使用空值。如果数据类型为 int
,但允许空值,则强制转换为可为空的 int: myRow.Field<int?>("AM2MIN")
并验证它是否具有值。