10月25日(火)1、2コマ目

今日の予習

C#+OracleDB

今までもC#からOracleDBにアクセスするプログラムを作ってきましたが、エラーが発生した時点で例外を呼び出し元にスローしていました。

エラー発生時の例外スローをコントロールするプログラムに改造しまします。

古典的な書き方

try{ }catch{ }をつかう書き方。Javaと同じ。


usingステートメントを使う

Javaのtry with resourcesと同じようなusingステートメントを使う書き方。


コミット・ロールバック

Javaと異なるのが、Transactionオブジェクトがあるところ。このTransactionオブジェクトでコミット、ロールバックを行う。


今日、やったこと

[課題]Java+トランザクション

今日のホワイトボード

[課題]Java+トランザクション

StockDAOクラス


サーブレット


JSP


C#+OracleDB

ソースコードは上の「今日の予習」をご参考に。

メソッドのオーバーライド

Javaの場合は特になにも指定しなくてもメソッドのオーバーライドができたが、C#では明示的にoverrideを指定する必要がある。

図 オーバーライド

Javaの@Overrideアノテーションは指定しなくてもOK。指定した場合は、オーバーライドするつもりがスペルミスでオーバーライドしていない(引数が違う、メソッド名が違う)ようなときにコンパイル時に警告してくれます。


Transactionオブジェクト

C#ではJavaにはないTransactionオブジェクトがあり、これを使ってトランザクションコントロールをします。

Transactionオブジェクトは接続済みConnectionオブジェクトのBeginTransaction()メソッドで取得できます。

TransactionオブジェクトはCommandオブジェクトのTransactionプロパティにセットします。同じTransactionオブジェクトがセットされたCommandオブジェクトは同じトランザクションのメンバになります。

コミットはTransactionオブジェクトのCommit()メソッド実行、ロールバックはRollback()実行です。

図 トランザクション

次回は

C#+トランザクションの練習問題です。


このブログの人気の投稿

11月14日(月)1、2コマ目

10月27日(木)3、4コマ目

10月4日(火)1、2コマ目