加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 18:28:15 所属栏目:百科 来源:网络整理
导读:我们如何在c#的程序中为datetime字段(从SQL Server获取)处理null? 解决方法 这里有3种常见的方法; 如果您正在谈论对象(可能是从数据读取器中获取它),那么DBNull.Value可以表示null.不过,我不倾向于将其从数据层中删除 由于.NET 1.1历史记录,DateTime.MinVal
我们如何在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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读