コードでは、用意したemp_nameパラメータにTextBoxの値を代入する式を1つ付け加えます(リスト3の赤字部分)。SELECT用に用意されたOracleCommandオブジェクト(empVpdSelectOracleCommand1)のParametersプロパティを使用して、OracleParameterオブジェクトを獲得し、そのValueプロパティにTextBoxの値を入力します。
Private Sub Button1_Click(ByVal sender As System.Object, _ |
リスト3 TextBox値をOracleParameterに渡すために追加するコード(赤字部分) |
コードの追加が終わりましたら、動作確認をしてみましょう。ビルドしてアプリケーションを開始します。社員名にKINGと入力して、「検索」ボタンをクリックします。KINGのデータが表示されることを確認してください(図21)。
最後に、DataGridの変更をデータベースに反映させる機能を追加しましょう。といってもすでに、OracleDataAdapterウィザードでUPDATE用のOracleCommandは作成されているので、作業は非常に簡単です。フォームデザイナで「更新」ボタンをダブルクリックして、リスト4のように記述します。
Private Sub Button2_Click(ByVal sender As System.Object, _ |
リスト4 Updateメソッドの使用 |
(1)DataGridとDataSetはバインドされているので、DataGrid上での変更はDataSetに即反映されます。DataSetの変更をデータベースに反映させるために、OracleDataAdapterのUPDATEメソッドを使用します。UPDATEメソッドが実行されると、OracleDataAdapterのUpdateCommandプロパティにセットされているOracleCommandが実行されます。このUpdateCommand用のOracleCommandはOracleDataAdapterウィザードで自動的に作成されているため、特に記述する必要はありません。DataSetとDataTableを指定してOracleDataAdapterのUPDATEメソッドを実行するだけでDataSetの変更がデータベースに反映されます。
(2)UPDATE完了後、メッセージボックスを表示します。
コーディングが終わったら、ビルドを行い、アプリケーションを開始して動作確認を行ってみましょう(図22)。
以上で、データベースへアクセスするサンプル・アプリケーションの作成は終了です。ODT機能を活用することで、非常に少ないコーディングで、データの取得、絞り込み、更新が可能であることが分かったと思います。また、Oracleデータベース特有の機能もODP.NETを使用することで最大限引き出すことが可能です。今回はVPDとClientId連携をサンプルとして取り上げました。
次回は、「Oracle Database 10g Release2」の新機能である「Oracle Database Extension for .NET」という.NETでOracleデータベースのストアドプロシージャを作成する機能について説明します。ご期待ください。
Copyright © ITmedia, Inc. All Rights Reserved.