電気ウナギ的○○

About Home

VB.NET で日付型のフィールドに NULL をセットする方法

shinoda (2015年2月 6日 14:55)
DBから DBNull で来た日付データを、そのまま(つまり NULL のまま)別の DataSet にセットしたいんだけど、

newDr.start_date = oldDr.start_date

なんてやると、NULL を代入しようとしたってことで当然例外エラーが出ちゃう。

そこで、

If oldDr.Isstart_dateNull Then
newDr.start_date = Nothing
End If 

とかするとエラー無く処理されて「お~イエイ」とか思うんだけど、この場合、newDr.start_date には NULL ではなく 0001/01/01 12:00:00 という日付がセットされちゃう。DateTime.MinValue(日付の最小値)だね。

駄目やん(^^;

・・・と思ってたら、(普通の日付型変数には NULL はセット出来ないんだけど)DataSet のフィールドであれば Setフィールド名Null という「NULL を代入するための」メソッドが用意されているようだ。
そりゃそうだよな。DB の日付型フィールドには NULL 値がセットできるのに、DataSet のフィールドにセット出来なかったら不整合が起きるもんな。

ということで、

If oldDr.Isstart_dateNull Then
newDr.Setstart_dateNull()
End If 

とすれば出来ました。

お~イエイ

電気ウナギ的○○

電気ウナギ的○○

About Back

コメント(0)

電気ウナギ的○○

電気ウナギ的○○

About Back

トラックバック(0)

トラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/3304

電気ウナギ的○○

About This Site

電気ウナギ的○○
岩国在住。広島で働く超零細IT企業社長のいわゆる社長日記。
何か、酒と食い物のことばかり書いているようで・・・お察しのとおり、肥満体です:-)


2011/06/24
iPhone用サイト公開

Create with jQuery, jQTouch.


CLOSE