- PR -

型付データセットのDBNull対策 Webサービス編

1
投稿者投稿内容
naomix
ベテラン
会議室デビュー日: 2003/02/01
投稿数: 56
投稿日時: 2004-07-20 19:56
型付データセットを使う際、NULL値の項目にアクセスして、
例外にならないように、XMLスキーマでNullValueにEmptyを設定しています。
このデータセットをやり取りする XML Web サービス を作りました。
そして、Webサービスクライアントの方を作るため、
Visual Studio .Net でWeb参照の追加を行いました。
ところが、Web参照の追加で作られたXMLスキーマや、Reference.cs
の中身を見てみると、
このNullValueのEmptyが反映されないんですよね。
つまり、
スキーマの方には、
msprop:nullValue="_empty"
がありませんし、
型付データセットの方には、
throw new StrongTypingException("値は DBNull であるため、取得できません。", e)
というコードがあります。

直接Reference.csを直したら、Web参照の更新をするたびに直さないといけないし。
これはいったいどうしたものでしょうか。
ZEBRA
常連さん
会議室デビュー日: 2003/04/14
投稿数: 38
投稿日時: 2004-07-21 09:21
型付データセットから値を取得する前に、DBNullのチェックをすればよいと思います。

例えば、EmpNameという列名の場合、
IsEmpNameNullというプロパティ(メソッドだったかも…)があるので、これでチェックすればできると思います。
naomix
ベテラン
会議室デビュー日: 2003/02/01
投稿数: 56
投稿日時: 2004-07-21 10:18
ZEBRAさん、ありがとうございます。

引用:

例えば、EmpNameという列名の場合、
IsEmpNameNullというプロパティ(メソッドだったかも…)があるので、これでチェックすればできると思います。


あっ!こんなメソッドがあったのか。
焦ってて気づきませんでした。
これなら比較的簡単にチェックできますね。
でも、できれば事前にチェックしないでやれればいいんですけどね。
1

スキルアップ/キャリアアップ(JOB@IT)