そうか(笑)
VB.NET で DBNull を String 変数に代入するときは、ToString() でよかったのか(^^;;;
(あ、もともと DB からも文字型として読み込んだデータの話ね。もちろん数値型のデータは ToString してたよ)
例えば、dt As DataTable に DB から取得した値が入っているとして、それを a As String な変数に代入する際、例外発生を回避するために、
とかやりよったわぁ。
Tweet
VB.NET で DBNull を String 変数に代入するときは、ToString() でよかったのか(^^;;;
(あ、もともと DB からも文字型として読み込んだデータの話ね。もちろん数値型のデータは ToString してたよ)
例えば、dt As DataTable に DB から取得した値が入っているとして、それを a As String な変数に代入する際、例外発生を回避するために、
Dim a As String = if (IsDBNull(dt(cnt)("namae")), String.Empty, dt(cnt)("namae"))
とかやりよったわぁ。
Dim a As String = dt(cnt)("namae").ToString()
でよかったのね(笑)
ToString メソッドは、DBNull だったら空文字に変換してくれるのか。なぜか、Nothing を渡すものだと思ってた。
ということで、わざわざ If 文で置換してやらなくても、とりあえず(元の変数が String 型だろうが関係なく)ToString() して代入というのがコーディングも簡単でいいね。
早く教えてくれなきゃ(笑)
これはすごいです。感動しました。
社内システム全て IsDBNull対応しています。