DBNull有什么意義?在.NET中有一個null引用,它在任何地方用來表示對象引用是空的,然后有DBNull數(shù)據(jù)庫驅動程序(和其他幾個)用來表示......幾乎相同的東西。當然,這會產生很多混亂,轉換例程必須被制作出來,等等。那么為什么最初的.NET作者決定這樣呢?對我來說沒有任何意義。他們的文檔也沒有意義:DBNull類表示不存在的值。例如,在數(shù)據(jù)庫中,表行中的列可能不包含任何數(shù)據(jù)。也就是說,該列被認為根本不存在而不僅僅是沒有值。DBNull對象表示不存在的列。此外,COM interop使用DBNull類來區(qū)分VT_NULL變量(表示不存在的值)和VT_EMPTY變量(表示未指定的值)。什么是關于“不存在的列”的廢話?存在一列,它只是沒有特定行的值。如果它不存在,我會嘗試訪問特定的單元格,而不是DBNull!我能理解區(qū)分VT_NULL和之間的必要性VT_EMPTY,但是為什么不做一個COMEmpty課呢?這將是整個.NET框架中更適合的。我錯過了什么嗎?任何人都可以解釋為什么DBNull被發(fā)明以及它有助于解決的問題?
添加回答
舉報
0/150
提交
取消