C# 从ODBC读取器读取-算术溢出异常
我试图通过ODBC连接检索数据并将其放入数据表中。传入的数据可能有一些单元格值为null 下面是我用来导入datatable中数据的代码:C# 从ODBC读取器读取-算术溢出异常,c#,odbc,arithmeticexception,C#,Odbc,Arithmeticexception,我试图通过ODBC连接检索数据并将其放入数据表中。传入的数据可能有一些单元格值为null 下面是我用来导入datatable中数据的代码: DataTable dt = new DataTable(); OdbcCommand cmd = _conn.CreateCommand(); cmd.CommandText = sql; OdbcDataReader reader = cmd.ExecuteReader(); bool firstRun = true; while (reader.Re
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);
DataTable dt=newdatatable();
OdbcCommand cmd=_conn.CreateCommand();
cmd.CommandText=sql;
OdbcDataReader=cmd.ExecuteReader();
bool firstRun=true;
while(reader.Read())
{
object[]行=新对象[reader.FieldCount];
对于(int i=0;i
在我读取的第一行中,我在datatable中创建列。然后我继续读取每行的单元格值。这里有一个问题:如果我执行select查询返回单个列,则WWWorks上的操作。但是如果我在多个列上执行该操作,则会引发异常:算术运算导致溢出行中的low
:if(firstRun)dt.Columns.Add(reader.GetString(i),reader[i].GetType();
我到底错过了什么
感谢阅读器。GetString(i)
显然返回指定列的值,而不是列的名称。因此,我将其替换为阅读器。GetName(i)
,以获取列的名称