質問: Convert.ToInt32(comTBP.ExecuteScalar()); ``` これは、データベースに値があり、ExecuteScalar()がその値を取得できる場合は、すべて正常に動作します。このコードを自分の開発サーバー(ローカル)でテストすると、ExecuteScalar()がnullまたはDBNullを返し、新しい列の値が0の場合でも機能します。ただし、コードを運用サーバーに展開すると問題が発生します。同じデータベースを使って同じことをすべて実行すると、DBNullをInt32に変換できないというメッセージが表示された例外がスローされます。 私の質問は、なぜこのエラーはプロダクションサーバーに現れ、私のローカル開発サーバーには表示されないのですか?
回答: SQLでISNULL()関数を使用します。 **ISNULL(check_expression、replacement_value)** つまり... SELECT ISNULL(SUM(Price)、0) FROM Order