11月28日(金)1、2コマ目
今日、やったこと [練習問題]ODP.NET Core練習問題1 [練習問題 解説]ODP.NET Core練習問題1 列の値がNULLの場合(DBNull) 今日のホワイトボード [練習問題 解説]ODP.NET Core練習問題1 正解例をあげておきます。 練習1 練習2 練習3 練習4 練習5 列の値がNULLの場合 データベース上のテーブルの値がない=NULL。 図 データがない = NULL もし、NULLなデータを検索した場合、OracleDataReaderはDBNullを返す。 が、Convert.ToInt32()のようなキャスト関数はDBNullの場合、エラーになる。 図 DBNullならキャストに失敗する ①DBNullかチェックしたい いろいろ方法はあるが、とりあえず、 DBNull.Value.Equals( チェック対象 ) を紹介。チェック対象がDBNullならTrueを返す。 この結果が True -> チェック対象はDBNull -> NULLな場合に値に書き換え False -> チェック対象はDBNullではない -> DataReaderで検索結果を取得 を行う。 ②3項演算子を使う 3項演算子とは、 条件式 ? 条件式がTrueのときの値 : 条件式がFalseのときの値 と、 ifをコンパクトにまとめた もの。 ソースコードは以下のようになる。 [DBNull]練習1 cs_ユーザーデータテーブルの性別列がNULLの場合は、”不明”と出力。 [DBNull]練習2 cs_オリンピックテーブルは以下のようになっている。 図 c...