- 締切済み
NULLか空文字かの判別(DBの値)
VB.NETで、Access(mdb)のテーブルから DAOでデータ取得し、取得したレコード毎に値のチェック処理をします。 その値がNULLかどうかは、isDBNULL関数を使用すれば判定できますが、 空文字についてはどう判定すればわかりますでしょうか?? String型にキャストして「= ""」で判定しようとしましたが、 空文字の場合だとString型にキャストする際にエラーが発生します。 家で試せる環境にないので、エラーが出るかどうかわからないのですが String.IsNULLOrEmptyで判定できるのでしょうか? これもString型にキャストする必要がありそうなので、エラーが出るようにも思います・・・。 オブジェクト型の値が空文字かどうか判定する方法を教えていただけないでしょうか。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- hogehogu
- ベストアンサー率0% (0/0)
回答No.1
NULLの場合 => System.DBNull.Value 空文字の場合 => 空文字 が返ります。 空文字の場合は空文字が返ってくるのでその判定で問題ないはずです。 エラーが出るのはおそらくNULLをStringにキャストしているからと思われます。 以下の判定で問題ないはずです。 If IsDBNull(a) Then Debug.Print("NULL") ElseIf DirectCast(a, String) = "" Then Debug.Print("空文字") End If ちなみにAccessのテーブルに直接空文字を入力するときは""を入力する必要があります。単に空文字を入力するとNULLになります。