none
日付項目(DateTime型)に対するNULL の取り扱い RRS feed

  • 質問

  • 環境:
    VS2005
    言語 VB
    SQL SERVER 2005 DEVELOPER EDITION


    日付項目の値に DBNULL.VALUE
    を設定しようとすると NullReferenceException
    の例外になってエラーが発生します。

    これは仕様でしょうか???

    例えば
     DIM RR as DataRowVIew = xxxTBL_BIndingsource.Current
     
     RR.ITEM("日付") = DBnull.value
     
    というようなコードを記述するとエラーになってしまいます。
    日付項目を空(NULL) に設定したい場合の方法がわかりません。

    DB側では(NULL)を許容するよう設定しています。

    もしできないならば仕方なく、ストアドあるいは他の方法
    で 直接更新 SqlCommand を用いるほかありません。
    なんでこのようになっているのかわかりません。

     

    2006年4月25日 20:23

すべての返信

  • それ以前に

    DIM RR as DataRowVIew = xxxTBL_BIndingsource.Current

    このRRがNullなのでしょう。

     

    2006年4月26日 0:36
  • DataSetはNullableをサポートしていないので、DataTime型のカラムにNullを入れるのは残念ながら無理です。次のバージョンのADO.NETでは期待したいですね。
    2006年4月26日 2:45
    モデレータ
  • NAL-6295です。

    確かにNull自体はセットできませんが、
    質問者が提示しているコードどおり、DBNull.Valueならセットする事が可能です。

    やはり、RRがNullなのでしょう。 

    2006年4月28日 1:05