gpt4 book ai didi

c# - 数据读取器 GetInt32() & GetInt16()

转载 作者:太空狗 更新时间:2023-10-29 17:51:08 26 4
gpt4 key购买 nike

我正在尝试使用 SqlDataReader 读取 smallint 列值。

dataReader.GetInt32() 抛出异常“指定的转换无效。”

但是

dataReader.GetInt16()

也工作正常。

你能解释一下为什么 GetInt32() 会失败吗,前提是 Int16 可以像这里一样分配给 Int32

 Int16 i16 = 1;
Int32 i32 = i16;

最佳答案

GetInt##() 方法寻找精确匹配,“无效转换”错误与 DbType 到 ClrType 的转换有关。

您是对的,GetInt32() 可以用来读取更小的类型,但这也可能是无意中发生的。

GetDouble() 是否应该毫无怨言地读取intlong 甚至decimal
我认为最好不要。

关于c# - 数据读取器 GetInt32() & GetInt16(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7840432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com