10月27日(火)1、2コマ目
今日、やったこと
C#でオラクルDBアクセス(ODP.Net Core)
今日のホワイトボード
JDBCとADO.Net、ODP.NET
これから使うODP.NETは.NetFrameworkからオラクルアクセスに特化したライブラリ。
|
|
図 JDBCとADO.NET、ODP.NET |
C#でオラクルアクセス
全件検索(finallyでクローズ)
finallyで必ずクローズさせる古典的なやり方。
授業では今後このやりかたは使いません。
全件検索(usingを使う)
名前空間をインポートするためのusingとは異なり、こちらのusingはブロックを定義するためのもの。
using()内で宣言したインスタンスはusing{}ブロック終了時に自動的にDispose()が実行される。
|
| 図 Javaのtey with resourcesとC#のusing |
更新(トランザクション)
基本的な流れはJavaと同じ。
〇SQLのパラメータマーカーとParameterオブジェクト
パラメーターマーカー(Javaでは?)は:パラメーター名。
CommandオブジェクトのParametersプロパティにParameterオブジェクトをセットする順はパラメータマーカーの順番と一緒にすること。
![]() |
| 図 SQLのパラメーターマーカーとParameterオブジェクト |
〇トランザクションオブジェクト
TransactionオブジェクトはJavaには出てこなかった。
トランザクション制御(コミット、ロールバック)を行う。
①Transactionオブジェクト取得
接続済みConnectionオブジェクトでBeginTransaction()実行すると取得できる。
②CommandオブジェクトにTransactionオブジェクトセット
取得したTransactionオブジェクトをトランザクションを構成するSQL実行用CommandオブジェクトのTransactionプロパティにセットする。(これを忘れがち、忘れてもコンパイルエラーにはならない)
コミット、ロールバックはこのTransactionオブジェクトが行う。
③コミット、ロールバック
コミットはTransactionオブジェクトのCommit()。
ロールバックはおなじくTransactionオブジェクトのRollback()。
![]() |
| 図 トランザクションの流れ |




コメント