我不能得到double的null值

本文关键字:null double 不能 | 更新日期: 2023-09-27 17:50:23

在类中,我声明了一个属性,命名为a

public double? myDouble {get; set;}

然后,在我的代码中,我故意不给它赋值。

我试图将其保存到SQL Server,其中相关列是浮点数(对应于c#中的double)并且是可空的。

然而,当我查询表时,myDouble总是显示0。

希望有人能帮助我。

我不能得到double的null值

我想会发生两件事之一。要么a)你把一个默认的约束字段在SQL Server(易于检查在SSMS)或b)你分配0到代码的某个地方的双(这可以通过设置一个断点在Visual Studio立即检查之前,你调用数据库和工作的方式回来)。

甚至不知道你的DAL是如何构造的(EF, ADO)。

在save to Sql代码中试试:

myDouble == null ? DBNull.Value : (double)myDouble;

您需要在数据库中以DBNull.Value的形式存储null。我希望这对你有帮助:)

如果类型为float则尝试使用float。我不认为那是造成问题的真正原因。

public float myDouble {get; set;}