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

フィールドの1つに整数値が含まれていないようです。

Data Typeそれらの列を確認します。また、Nullが許可されているかどうかを確認します。データ型がint、であるがnullが許可されている場合は、null許容のint:にキャストし、myRow.Field<int?>("AM2MIN")値があるかどうかを確認します。

于 2012-11-16T21:24:16.957 に答える