Mr_ALong 2023-06-13 15:25 采纳率: 77.8%
浏览 42
已结题

关于#数据库#的问题:公司最近要将 SqlServer 迁移到 国产神通数据库上

公司最近要将 SqlServer 迁移到 国产神通数据库上,总来的说还算顺利,但是有一个问题困扰了我很久,下边是一个控制台连接神通数据库的案例

img

vals[1] 的值是2,类型也是System.Int32,为什么使用 (short) 强转会异常无效转换?

数据库类型也是 smallint类型

  • 写回答

3条回答 默认 最新

  • 冰点. 全栈领域优质创作者 2023-06-13 15:52
    关注

    根据您提供的截图和描述,我猜测 转换失败的原因可能是由于 vals[1] 的值超出了 short 类型的取值范围。

    在 C# 中,short 类型的取值范围为 -32,768 到 32,767,而 int 类型的取值范围为 -2,147,483,648 到 2,147,483,647。如果 vals[1] 的值超出了 short 类型的取值范围,那么使用 (short) 强制转换时就会抛出 System.OverflowException 异常。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月4日
  • 已采纳回答 6月26日
  • 创建了问题 6月13日