将MySQL double导入C#时出现InvalidCastException

时间:2017-05-31 23:17:18

标签: c# mysql exception casting

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

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

但这会导致异常:

System.InvalidCastException: Specified cast is not valid.

为什么我收到此错误?我认为MySQL double类型对应于C#double类型。

1 个答案:

答案 0 :(得分:0)

我的猜测是你的double_field可以为空,并且不支持从null生成double值。尝试做

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

并查看对象将包含的内容。