12月12日(金)3、4コマ目
今日、やったこと
データベースとC#の日付型
今日のホワイトボード
オラクルとC#の日付型
オラクルで日付データを扱うには、Date型を使う。
※Data型以外にも日付用の型はある。
C#で日付データを扱うには、DateTime型を使う。
※DateTime型以外にも日付用の型はある。
![]() |
| 図 オラクルのDate型とC#のDateTimeクラス |
日付データ同士の比較
DBも、OSも日付データは基準日時からの経過秒数。
過去に戻れば小さな値、未来に進めば大きな値。
よって、大小比較ができる。
![]() |
| 図 日付データの大小比較 |
日付データで検索 その1
日時列がxxxx年xx月xx日 xx時xx分より前のデータを検索したい。
①OracleParameterのコンストラクタ第2引数は OracleDbType.Date 。
②パラメータマーカーにはC#のDateTimeクラスのインスタンスを渡す
![]() |
| 図 Date型の列とパラメータマーカー |
Program.cs
日付データで検索 その2
日時列がxxxx年xx月xx日のデータを検索したい。
xxxx年xx月xx日は
日付データがxxxx年xx月xx日 0:00:00以降
かつ
日付データがxxxx年xx月xx日 23:59:59以前
の範囲。
![]() |
| 図 12/12の場合 |
Diary.cs
1インスタンス = cs_日付用データテーブル1行分に対応するクラス。
Program.cs
日時列の検索結果はDairyクラスのDateTime型のプロパティに代入。
下図はDateTime型のインスタンスの生成法を紹介。
- コンストラクタで生成
- Parse()メソッドで文字列から生成
ODP.NET Core 練習問題3
下図のように、1問につき、クラスを1こ追加。
追加したクラスに問題で指定されたメソッドを実装。
※メソッドにはstaticをつけて!!
![]() |
| 図 練習問題のすすめかた |
Program.csでは、クラス名.メソッド名でメソッド呼び出し。
戻り値(検索結果)を表示。
[おまけ]Dept.cs
cs_部署マスタテーブルに対応するクラス。
[おまけ]Employee.cs
cs_従業員マスタテーブルに対応するクラス。
[おまけ]Attendance.cs
cs_出勤データテーブルに対応するクラス。
次回は
ODP.NET Coreのテスト第2回目。
練習問題3のつづき。





