我有一个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
类型。
答案 0 :(得分:0)
我的猜测是你的double_field可以为空,并且不支持从null生成double值。尝试做
object o = row.GetValueOrDefault<object>("double_field");
并查看对象将包含的内容。