DataReader GetInt32() & GetInt16()
本文关键字:GetInt16 amp DataReader GetInt32 | 更新日期: 2023-09-27 18:11:45
我正在尝试使用SqlDataReader读取smallint
列值。
dataReader.GetInt32()
抛出异常为"指定的强制转换无效"。
,
dataReader.GetInt16 ()
运行正常。
如果Int16可以像这里一样赋值给Int32,你能解释一下为什么GetInt32()失败吗
Int16 i16 = 1;
Int32 i32 = i16;
GetInt##()
方法寻找精确匹配,'无效转换'错误是关于DbType到ClrType转换。
你是正确的,GetInt32()可以读取较小的类型,但随后也可能无意中发生。
GetDouble()
应该读int
, long
甚至decimal
而不抱怨吗?
我想还是不要了。