DBNull有什么意义?

DBNull有什么意义?

在.NET中有一个null引用,它在任何地方用来表示对象引用是空的,然后有DBNull数据库驱动程序(和其他几个)用来表示......几乎相同的东西。当然,这会产生很多混乱,转换例程必须被制作出来,等等。

那么为什么最初的.NET作者决定这样呢?对我来说没有任何意义。他们的文档也没有意义:

DBNull类表示不存在的值。例如,在数据库中,表行中的列可能不包含任何数据。也就是说,该列被认为根本不存在而不仅仅是没有值。DBNull对象表示不存在的列。此外,COM interop使用DBNull类来区分VT_NULL变量(表示不存在的值)和VT_EMPTY变量(表示未指定的值)。

什么是关于“不存在的列”的废话?存在一列,它只是没有特定行的值。如果它不存在,我会尝试访问特定的单元格,而不是DBNull!我能理解区分VT_NULL和之间的必要性VT_EMPTY,但是为什么不做一个COMEmpty课呢?这将是整个.NET框架中更适合的。

我错过了什么吗?任何人都可以解释为什么DBNull被发明以及它有助于解决的问题?


慕少森
浏览 1181回答 3
3回答

繁星coding

DbNull代表一个没有内容的盒子; null表示盒子不存在。
打开App,查看更多内容
随时随地看视频慕课网APP