ステップ 7 ハンズオン: ADO.NET を利用したトランザクションの実装 その 3
ADO.NETによるデータベーストランザクションの実装
マイクロソフト株式会社 デベロッパーマーケティング本部
デベロッパーエバンジェリスト 泉貴博
最終更新日 2005 年 1 月 13 日
| 目標 |
ADO.NETを利用したデータベーストランザクションコンポーネントのテストを行う |
| 使用技術 |
- ADO.NET
- Visual Basic .NET
|
| 取り上げるトピックス |
- ADO.NETにおけるTransactionオブジェクトを使ったトランザクションの動作を理解する。
|
| 前提知識 |
|
| 目次 |
|
| まとめ |
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 オブジェクトに指定することによって、論理的なトランザクション生成します。そのトランザクションの単位で、コミット / ロールバックを行うことが可能になり、データの一貫性を保つことができるようになります。
|