データが Null です。このメソッド、またはプロパティは Null 値で呼び出せません。 - VB.NET
SQLを実行して、結果を取得しようとしたときに、このエラーが発生した。
データベースを見てみると、確かに、NULLになっている。
でも、値がNULLの列を取得しようとしただけでエラーになるってどういうこと!?
このサイトで英訳すると、 Data is Null. This method or property cannot be called on Null values
となる
解決策
NULLを許可している列から値を取得するときにはSqlDataReader.IsDBNull
を使って、値がNULLではないか確認してから、値の取得を行うようにする
''' <summary> ''' Stringを取得する(NULL値の場合、Nothingを返す) ''' </summary> ''' <param name="sqlReader">値を取得するSqlDataReader</param> ''' <param name="idx">結果のインデックス番号</param> ''' <returns>String(NULL値の場合、Nothingを返す)</returns> Private Function GetStringSqlReader(ByRef sqlReader As SqlDataReader, ByVal idx As Integer) As String ' NULLの場合、Nothing を返し、NULLではない場合、入っているデータを返す If sqlReader.IsDBNull(idx) Then Return Nothig Else Return sqlReader.GetString(idx) End If End Function