0
ODBC 연결을 통해 데이터를 검색하고 데이터 테이블에 넣으려고합니다. 들어오는 데이터의 셀 값이 null 일 수 있습니다.ODBC 판독기에서 읽기 - 산술 오버플로 예외
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);
나는 내가 데이터 테이블의 열을 만드는 오전 읽고있다 첫 번째 행에 : 여기
내가 데이터 테이블에서 데이터를 가져올 사용하고있는 코드입니다. 그런 다음 각 행의 셀 값을 계속 읽습니다. 여기에 catch가 있습니다 : 하나의 열을 반환하는 select 쿼리를 수행하면 위의 작업이 수행됩니다. 그러나 여러 열에서 수행하면 예외가 발생합니다.Arithmetic operation resulted in an overflow
줄에 :
if (firstRun) dt.Columns.Add(reader.GetString(i), reader[i].GetType());
정확하게 여기에 무엇이 누락 되었습니까?
감사