【问题标题】:InvalidCastException when importing MySQL double to C#将 MySQL double 导入 C# 时出现 InvalidCastException
【发布时间】:2017-11-01 22:16:45
【问题描述】:

我有一个 C# 程序,它使用 MySqlDataReader 连接到 MySQL 数据库。在某一时刻,它将数据类型为 double 的 DB 字段导入到同样类型为 double 的 C# 变量中:

MyDBTable table = new MyDBTable();
table.myDouble = row.GetValueOrDefault<double>("double_field");

但这会导致异常:

System.InvalidCastException: Specified cast is not valid.

为什么会出现此错误?我以为 MySQL double 类型对应于 C# double 类型。

【问题讨论】:

  • 您是否尝试调试代码以查看在列"double_field" 中存储了哪个对象?还要检查this question

标签: c# mysql exception casting


【解决方案1】:

我的猜测是您的 double_field 可以为空,并且不支持从 null 生成双精度值。试着去做

object o = row.GetValueOrDefault<object>("double_field");

看看对象会包含什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2021-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多