ODBC接続を介してデータを取得し、データテーブルに配置しようとしています。入ってくるデータは、いくつかのセル値がnullである可能性があります。
データテーブルにデータをインポートするために使用しているコードは次のとおりです。
DataTable dt = new DataTable();
OdbcCommand cmd = _conn.CreateCommand();
cmd.CommandText = sql;
OdbcDataReader reader = cmd.ExecuteReader();
bool firstRun = true;
while (reader.Read())
{
object[] row = new object[reader.FieldCount];
for (int i = 0; i < reader.FieldCount; i++)
{
if (firstRun)
dt.Columns.Add(reader.GetString(i), reader[i].GetType());
if (!reader.IsDBNull(i))
row[i] = reader.GetValue(i);
}
firstRun = false;
dt.Rows.Add(row);
私が読んでいる最初の行で、データテーブルに列を作成しています。次に、各行のセル値を読み続けます。キャッチは次のとおりです。単一の列を返すselectクエリを実行すると、上記の操作が機能します。ただし、複数の列で実行すると、例外がスローArithmetic operation resulted in an overflow
されます。if (firstRun) dt.Columns.Add(reader.GetString(i), reader[i].GetType());
私はここで何が欠けていますか?
ありがとう