我不能为 double 取一个 null?
I can't get a null for double?
在class里面声明了一个属性,称之为A
public double? myDouble {get; set;}
然后,在我的代码中,我故意不分配它。
我尝试将它保存到 SQL 服务器,其中关联的列是浮点数(对应于 C# 中的双精度值)并且可以为空。
然而,当我查询 table 时,myDouble 总是显示 0。
希望有人能帮助我。非常感谢..
如果类型是 float,请尝试使用 float。我认为这不是真正导致问题的原因。
public float myDouble {get; set;}
在保存到 Sql 代码时试试这个:
myDouble == null ? DBNull.Value : (double)myDouble;
您需要将 null 作为 DBNull.Value 存储在数据库中。我希望这会有所帮助:)
我想象的两件事之一正在发生。要么 a) 你在 SQL 服务器中的那个字段上设置了默认约束(很容易在 SSMS 中检查),要么 b) 你在代码中的某处将 0 分配给那个 double(可以通过在中设置断点来检查) Visual Studio 在调用数据库并返回之前。
甚至不知道您的 DAL 是如何构建的(EF、ADO.NET 等),很难给出更具体的建议。
在class里面声明了一个属性,称之为A
public double? myDouble {get; set;}
然后,在我的代码中,我故意不分配它。
我尝试将它保存到 SQL 服务器,其中关联的列是浮点数(对应于 C# 中的双精度值)并且可以为空。
然而,当我查询 table 时,myDouble 总是显示 0。
希望有人能帮助我。非常感谢..
如果类型是 float,请尝试使用 float。我认为这不是真正导致问题的原因。
public float myDouble {get; set;}
在保存到 Sql 代码时试试这个:
myDouble == null ? DBNull.Value : (double)myDouble;
您需要将 null 作为 DBNull.Value 存储在数据库中。我希望这会有所帮助:)
我想象的两件事之一正在发生。要么 a) 你在 SQL 服务器中的那个字段上设置了默认约束(很容易在 SSMS 中检查),要么 b) 你在代码中的某处将 0 分配给那个 double(可以通过在中设置断点来检查) Visual Studio 在调用数据库并返回之前。
甚至不知道您的 DAL 是如何构建的(EF、ADO.NET 等),很难给出更具体的建议。