gpt4 book ai didi

c# - 如何安全地将可空结果从 sqlreader 转换为 int?

转载 作者:太空狗 更新时间:2023-10-29 19:50:23 26 4
gpt4 key购买 nike

我有一个包含空值的表,我需要使用 SqlDataReader 从表中获取数据。我不知道如何安全地将 DBNull 转换为 int。

我现在是这样做的:

...
reader = command.ExecuteReader();
while (reader.Read()) {
int y = (reader["PublicationYear"] != null) ? Convert.ToInt32(reader["PublicationYear"]) : 0;
...
}
...

但是当 PublicationYear 为 null 时,获取 Object cannot be cast from DBNull to other types.

如何安全获取值?

谢谢。

最佳答案

您应该将 reader["PublicationYear"]DBNull.Value 进行比较,而不是 null

关于c# - 如何安全地将可空结果从 sqlreader 转换为 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9377739/

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