gpt4 book ai didi

c# - 如何在我们的程序中处理允许为空的日期时间字段 (DB​​) 的空值?

转载 作者:太空狗 更新时间:2023-10-29 20:57:54 25 4
gpt4 key购买 nike

我们如何在 c# 程序中处理日期时间字段(从 SQL Server 获取)的空值?

最佳答案

这里有3种常见的方法;

  • 如果你说的是object (也许当你从数据阅读器中获取它时),然后是 DBNull.Value可以表示空。不过,我不倾向于将其排除在数据层之外
  • 由于 .NET 1.1 的历史,DateTime.MinValue通常被解释为 null ;一个神奇的数字,也许 - 但它有效并且被大多数数据绑定(bind)等支持
  • 在 .NET 2.0 中,Nullable<T>意味着你可以使用 DateTime? - 即可空的日期时间;只需使用 DateTime?无论你在哪里,你的意思是DateTime可以为空,你可以给它一个值 null或有效的 DateTime .

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

  • 传递给 SqlCommand 时你必须使用DBNull.Value , 不是 null - 见下文
  • 从数据阅读器读取时,我倾向于检查 reader.IsDbNull(ordinal)

命令内容(以 Nullable<T> 为例):

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

关于c# - 如何在我们的程序中处理允许为空的日期时间字段 (DB​​) 的空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1350896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com