私は、SQL Server 2008のデータベースからスカラー値を返すいます:?演算子とNULL値を扱う
string reason = cmd.ExecuteScalar().ToString() ?? : "";
私はreason = ""
ないヌルこと、null
が返された場合ことを確認します。
私はこのライン上のエラー取得しています:
エラー3無効な表現用語 ':' これを固定することができますどのように
を?
EDIT:
は今、私は同じ行にこの例外を取得しています、コロンの変更をお願い致します:
string reason = cmd.ExecuteScalar().ToString() ?? "";
System.NullReferenceException occurred Message="Object reference not set to an instance of an object."
を使用??'、 'ありません? : '。 – zneak
結果がNULLの場合、それでも例外が発生するため、単純な解決策はデータベース内の値をNULLにすることができないようにすることです。別の簡単な解決策は、データベースに格納されている値がString型に設定されていることを確認することです。つまり、nullが発生しても例外は発生しません。 C#では値を持たないStringは空の文字列です。文字列変数のデフォルト値はnullで、コンソールウィンドウに表示された場合は空の文字列またはヌル文字になります(何も印刷されません)。 –
下記の私の答えを見てください(特に最後の部分)。 – canon