gpt4 book ai didi

.net - DataReader:指定的强制转换无效 (Int32)

转载 作者:行者123 更新时间:2023-12-04 01:35:23 26 4
gpt4 key购买 nike

为什么SqlDataReader在将0转换为整数时会抛出异常?

?dataReader(3)
0 {Short}
Short: 0
?dataReader.GetInt16(3)
0
?dataReader.GetInt32(3)
{"Specified cast is not valid."}
_HResult: -2147467262
_message: "Specified cast is not valid."
Data: {System.Collections.ListDictionaryInternal}
HelpLink: Nothing
HResult: -2147467262
InnerException: Nothing
IsTransient: False
Message: "Specified cast is not valid."
Source: "System.Data"
StackTrace: " at System.Data.SqlClient.SqlBuffer.get_Int32()
at System.Data.SqlClient.SqlDataReader.GetInt32(Int32 i)"
TargetSite: {Int32 get_Int32()}

最佳答案

这不是皈依 - 这是 Actor 。等同于:

short x = 0;
object y = x;
int z = (int)y; // BOOM! InvalidCastException Specified cast is not valid.

在这两种情况下, short不是 int .

如果不确定类型,您可以尝试:
int i = Convert.ToInt32(dataReader.GetValue(3));

关于.net - DataReader:指定的强制转换无效 (Int32),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10119336/

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