Convert.ToInt32(myCommand.ExecuteScalar()); // Returns 100, because myCommand is a SQL command that gets a non-null BigInt cell
myCommand.ExecuteScalar() as int? ?? 0; //Returns 0 even when myCommand is SQL command that gets a non-null BigInt cell
myCommand.ExecuteScalar() は を返すことができるため、この場合は 2 番目の方法を使用する必要がありますDBNull
。しかし、なぜ 2 番目の方法は とは異なる結果を返すのConvert.ToInt32
でしょうか?
編集: ありがとうございます。タイプを Int64 に変更し、現在は機能しています。