null 値を含むテーブルがあり、SqlDataReader を使用してテーブルからデータを取得する必要があります。DBNull を安全に int にキャストする方法がわかりません。
私は現時点でこの方法でそれをやっています:
...
reader = command.ExecuteReader();
while (reader.Read()) {
int y = (reader["PublicationYear"] != null) ? Convert.ToInt32(reader["PublicationYear"]) : 0;
...
}
...
Object cannot be cast from DBNull to other types.
しかし、PublicationYear が nullの場合に取得します。
どうすれば安全に値を取得できますか?
ありがとう。