データセット内の項目の DBNull 判定[プログラミング]
(2014-07-18 01:21:57) by shinoda


はまったぁ〜(^^;

テーブルセットのある項目(列)に DBNull がセットされてて、それを参照しちゃうと「予期しないエラーが発生しました。テーブル hoge_list にある列 'hoge' の値は DBNull です」と怒られちゃう。

ありゃりゃと思い、最初に If IsDBNull(rec.hoge) Then 〜 みたいに DBNull かどうかのチェックを入れてみたんだけど、なんと、このチェック処理すら「予期しないエラー」になってしまうのである・・・

むむむ・・・

Visual Studio のデータセットの編集画面で、その列の NullValue プロパティを Empty
とかにして回避しようと試みたのだが「プロパティの値が無効です」とか言われて Throw exception 以外選べない・・・(^^;
どうも、AllowDBNull プロパティが True(DBNull を許容)になってるとそうみたいだ。
まあ、許容しとかないと DB 読んだ結果をデータセットに格納するときにエラーになっちゃうから仕方ない。

むむむ・・・

結局、「Isカラム名Null」というプロパティを参照すればよかった。
If rec.IshogeNull Then 〜
とするだけ。

いやあ、VisualBasic で DB とか扱ったプログラムって書いたことがなかったので、毎日勉強ですわ(笑)

コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る

Powered by
MT4i 3.0.8