VB.NET
型 'DBNull' から型 'String' へのキャストが有効ではありません
最終更新日:2004/10/10
データベースから Null のデータを取得して文字列型の変数に代入すると、エラーが発生します。VB6 までは IsNull という関数があり、これを使うことで値が Null かどうかを判定できました。VB.NET では IsNull 関数はなくなり、IsDBNull という関数に変わりました。
ただし、IIf 構文を使って値の判定をすると、実行時に表題のようなエラーになるようです。
Dim str As String = IIf(IsDBNull(Rec.Item(1)), "", Rec.Item(1))
理由はわかりませんが、下記のように書けばエラーを回避できます。
Dim str As String If (IsDBNull(Rec.Item(1))) Then str = "" Else str = Rec.Item(1) End If