c# – 如何在程序中为allow-null datetime字段(DB)处理null?

前端之家收集整理的这篇文章主要介绍了c# – 如何在程序中为allow-null datetime字段(DB)处理null?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们如何在c#的程序中为datetime字段(从sql Server获取)处理null?

解决方法

这里有3种常见的方法;

>如果您正在谈论对象(可能是从数据读取器中获取它),那么DBNull.Value可以表示null.不过,我不倾向于将其从数据层中删除
>由于.NET 1.1历史记录,DateTime.MinValue通常被解释为null;一个神奇的数字,也许 – 但它起作用,并得到大多数数据绑定等的支持
>在.NET 2.0中,Nullable< T>意味着你可以使用DateTime? – 即可以约束的DateTime;只使用DateTime?在哪里 – 你的意思是DateTime可以为null,你可以给它一个null值或一个有效的DateTime.

关于数据访问和空值的一些其他想法:

>传递给sqlCommand时,必须使用DBNull.Value,而不是null – 见下文
>从数据读取器读取时,我倾向于检查reader.IsDbNull(序数)

命令填充(以Nullable< T>为例):

param.Value = when.HasValue ? (object)when.Value : DBNull.Value;

猜你在找的C#相关文章