私は値を返すために使用する単純な関数を持っています。これは文字列を返すロジックです。スカラークエリ:オブジェクトリファレンス
If cmdx.ExecuteScalar Is DBNull.Value Or String.IsNullOrEmpty(cmdx.ExecuteScalar.ToString) Then
Return String.Empty
Else
Return cmdx.ExecuteScalar
End If
ただし、最初の行でこのエラーが返されます。追加情報:オブジェクト参照がオブジェクトのインスタンスに設定されていません。エラーはやや散発的であるように見えます。
おそらく、これは返された値を処理するより良い方法であり、可能であればNulls
ですか?
If cmdx.ExecuteScalar Is DBNull.Value Then
Return String.Empty
Else
If String.IsNullOrEmpty(cmdx.ExecuteScalar) Then
Return String.Empty
Else
Return cmdx.ExecuteScalar
End If
End If
もっと良い方法がありますか?
おそらく 'OrElse'が必要です。 [this](http://stackoverflow.com/questions/1170754/or-versus-orelse)を見てください。そして、私は 'DBNull.Value'ではなく' Is Nothing'を使用します。 – Bugs