ステップ 7 ハンズオン:
ADO.NET を利用したトランザクションの実装 その 3
ADO.NETによるデータベーストランザクションの実装
マイクロソフト株式会社 デベロッパーマーケティング本部
デベロッパーエバンジェリスト 泉貴博
最終更新日 2005 年 1 月 13 日
目標 | ADO.NETを利用したデータベーストランザクションコンポーネントのテストを行う |
使用技術 |
|
取り上げるトピックス |
|
前提知識 | |
目次 |
|
まとめ | ADO.NET では、その Transaction オブジェクトを、command オブジェクトに指定することによって、論理的なトランザクション生成します。そのトランザクションの単位で、コミット / ロールバックを行うことが可能になり、データの一貫性を保つことができるようになります。 |
備考 | 今回のサンプルでは、「 10行でズバリ!! - ADO.NET によるデータの更新」で行っているDataAdapterによる方法ではなくcommandオブジェクトによる更新を行っています。 |
ADO.NETによるデータベーストランザクションの実装
あらかじめ作成したADO.NETを利用したデータベーストランザクションを実装するコンポーネントと、そのクライアントを使って、そのトランザクションの動作をテストします。
[スタートプログラム] - [Microsoft SQL Server] - [Enterprise Manager]をクリックする。
Northwindデータベースを開きRegionテーブルを右クリックし[テーブルを開く]-[全行を返す]をクリックし、テーブルの内容を確認する。
Shippersテーブルを右クリックし[テーブルを開く]-[全行を返す]をクリックし、テーブルの内容を確認する
前のステップで作成した"ADOdotNetTransaction"ソリューションを開く。
[デバッグ] メニューをクリックし、[実行] をクリックする。
2つのテーブルに対するの更新処理が正常に完了していることを確認する。
再度、[デバッグ] メニューをクリックし、[実行] をクリックし、Regionテーブルに対して、PRIMARY KEY 違反になることを確認する。
Regionテーブルに対してエラーが発生したことにより、Shippersテーブルへの更新処理も行われていないことを確認する。(トランザクションが有効になっていなければ、ここで、もう一行追加されているはずです)
まとめ
このように、ADO.NETでは、その Transaction オブジェクトを、command オブジェクトに指定することによって、論理的なトランザクション生成します。そのトランザクションの単位で、コミット / ロールバックを行うことが可能になり、データの一貫性を保つことができるようになります。
ページのトップへ