• ベストアンサー

演算子が DBnull 及び integerに対して有効でない

VB.net 2003で開発したプログラムの動作確認をしたところ開発したコンピュータでは難なく動作したのですが、他のコンピュータに配布したところ、「演算子が 型 DBnull 及び integerに対して有効でありません」とメッセージが表示され動作しません。 動作したコンピュータの環境となにが違うのかもわかりません・・・ このエラーに対して私の試した環境下で考えられる原因がありましたら 教えていただきたいです。よろしくお願いいたします。 動作確認環境はWindows XPです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

ああ、あと、Nothingとの比較は=ではなく Is演算子ですので Function fuga() As Boolean Dim hoge As Integer hoge = Nothing If hoge Is Nothing Then '演算子をIsにしないと多分エラーが出る Return True Else Return False End If End Function

0slowlykick0
質問者

お礼

ありがとうございました!! 0の部分をis nothingにしたらできました!! でも何故動くコンピュータとそうでないコンピュータがあったのでしょうか?そもそもこのエラーの原因は何なのでしょうか?

0slowlykick0
質問者

補足

ご回答ありがとうございます。 このプログラムでNullという文字をコードには入力してないのです・・ 開発したコンピュータでは動くというのが気にかかります・・

その他の回答 (2)

  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.3

VBnetを使ったことないので何なんですが・・(^^;;; コンピュータというよりデータの問題では? エラーの出るコンピュータには、Nullフィールドがあったとか。 で、先ずそのNullの処理をすべきだとおもうのですが。 -----------------------------------------------  If フィールドXXX Is DBNull.Value Then     ' Null の処理 ElseIf フィールドXXX = 0 Then End If ------------------------------------------------ 勘違いでしたら見て見ぬふりを・・・(^^;;  

0slowlykick0
質問者

お礼

ご回答ありがとうございます。 回答頂いたことを参考にこれから頑張って調べてみようと思います。 本当にありがとうございました!!

回答No.1

自信なし NullをNothingに変えるとどうなるかなぁ?