2011-06-21 14 views
2

可能性の重複:
What is the point of DBNull?とにかくDBNullには何が必要ですか?

.NETと私の冒険の始まり以来、私はいつも一つの質問自問しています

は、なぜ私たちががDBNullの種類が必要なのですか?単純なヌル参照では不十分ですか?

MSDNはDBNullですが、 "存在しない値を表します" と述べています。論理的な観点から、この1つの文は、null参照が使用できない理由を説明します。これは、null参照であり、値の欠如ではないためです。しかし、多くの問題を引き起こすタイプを導入すれば十分ですか?ところで

:誰もが、私はそれを本当に感謝しDBNullの防衛のために言いたいことがある場合。

+0

私はそれがあなたに私のものではなく、あなたのために危機を引き起こすと思います。 :-P –

答えて

8

DBNullは、.NETフレームワークの初期バージョン以降存在していました。

null許容値型(Nullable<T>は)だけフレームワークのバージョン2が存在していました。

バージョン2の前に、それが受信することが可能であった、ので、たとえば、バックデータベースからヌルint型の値は、あなたが提案するだろうか、それを表現することが?その後、一貫性のために、値または参照型に変換されたかどうかにかかわらず、すべてが同じDBヌルを表すために使用されました。

0

C#のNULLはSQLコンテキストのNULLとは異なりますが、C#のSQL NULLは文字列ではなく、DbNull.Valueとして公開されています。文字列を比較すると"NULL"は同じではありませんでした。

1

データベースから返された値がnullであるかどうかを検出できるようにする必要があります。 通常、チェックの実行にはConvert.IsDBNullが使用されます。

DBNullタイプは、データベースに「NULL」を表わすnull

2

DBNull.Valueプログラミング値と同じではありません。それは 'null'と同じではありません。

関連する問題