連載
» 2006年01月07日 00時00分 公開

.NETでOracleアプリを作ろう(3):Oracleアプリだってコーディング量を減らしたい (1/4)

本記事では、Oracleが提供する.NETプラットフォーム開発向けのミドルウェアやツールを使って、.NET環境でOracleアプリケーション開発を効率的に行うためのノウハウを解説する。(編集部)

[小海友和,日本オラクル]

 前回「これがODT+VS.NETの開発スタイルだ」に引き続き、今回もサンプルのアプリケーションを作成していきます。前回は、アプリケーションの作成に入る前のデータベースの設定をVisual Studio .NET(以下、VS.NET)から行いました。今回はいよいよサンプル・アプリケーションをOracle Developer Tools for Visual Studio .NET(以下、ODT)の機能を使用して作成します。

 今回は、前回でVirtual Private Database(以下、VPD)の設定を行った表にアクセスするアプリケーションを作成します。VPDのアクセス制御を使用するために、Oracle Data Provider for .NET(以下、ODP.NET)10.2の新機能であるClientIdプロパティも使用します。

メモ:VPDやClientIdの詳細については、前回「これがODT+VS.NETの開発スタイルだ」を参照ください。

 VPDの設定がされていない場合、この設定は無視されますが、アプリケーションは動作します。前回で行ったデータベースの設定がなくとも、今回紹介するアプリケーションは動作しますので、「まずOracleアプリケーションを作ってみたい」という方は本記事を参考にアプリケーションを作成することも可能です。

フォームの作成

 まず、以下のようなフォームを作成します(図1)。ここは通常のVS.NETによるアプリケーション作成と変わりません。

図1 フォームの作成(以下のカッコ内はコントロール名)(1)検索する社員名の入力TextBox(TextBox1)(2)検索を実行するためのButton(Button1)(3)検索結果を表示するためのDataGrid(DataGrid1)(4)DataGrid上の変更をデータベースに反映させるためのButton(Button2) 図1 フォームの作成(以下のカッコ内はコントロール名)
(1)検索する社員名の入力TextBox(TextBox1)
(2)検索を実行するためのButton(Button1)
(3)検索結果を表示するためのDataGrid(DataGrid1)
(4)DataGrid上の変更をデータベースに反映させるためのButton(Button2)

自動コード生成の利用

 ODTの自動コード生成機能では、OracleDataAdapterを使用した非接続型でのデータアクセスのコードを生成します。非接続型データアクセスや接続型データアクセスに関する情報はすでに多く存在しますので、ここでの解説は省きますが、非接続型データアクセスのオブジェクト・モデルについては、簡単に説明しておきます(図2)。

図2 非接続データアクセスのオブジェクト・モデル 図2 非接続データアクセスのオブジェクト・モデル

 非接続型データアクセスで作成する必要のある主なオブジェクトは、OracleConnection、OracleCommand、OracleDataAdapterそしてDataSetです。これらは、それぞれ関連性を持たせて作成する必要があります。また、OracleCommandは必要に応じて、SELECT用、INSERT用、UPDATE用、DELETE用のものを作成する必要があります。ODTの自動コード生成では、これらのオブジェクトを自動的に生成します。それでは、ODTを使用してこれらのオブジェクトを作成していきます。

手順1

 Oracleエクスプローラより、表示させたい表(今回はEMP_VPD)をドラッグして、用意したフォームの上にドロップします(図3)。

図3 Oracleエクスプローラから表をドラッグ&ドロップ 図3 Oracleエクスプローラから表をドラッグ&ドロップ

手順2

 OracleConnectionを自動的に生成する際に、ConnectionStringプロパティにパスワードを含めるかどうかの確認ダイアログが出ます。今回は「はい」を選択します(図4)。

図4 パスワードを保存するかどうかの確認ダイアログ 図4 パスワードを保存するかどうかの確認ダイアログ

 これにより、必要なオブジェクトが作成されます。OracleConnectionとOracleDataAdapterについては、コンポーネントアイコンとしてフォームデザイナの下部に表示されています(図5)。また、コードを見てみると、INSERT、UPDATE、DELETE用のOracleCommandや多数のOracleParameterが自動的に作成されていることが確認できます(図6)。これらがODTの自動コード生成機能になります。

図5 自動作成されたオブジェクト(デザイン表示) 図5 自動作成されたオブジェクト(デザイン表示)
図6 自動作成されたオブジェクト(コード表示) 図6 自動作成されたオブジェクト(コード表示)

 ここで作成されたオブジェクトに変更を加える必要がある場合は、直接コードに修正を加えるのではなく、OracleDataAdapterウィザードを使用して行います。OracleDataAdapterウィザードについては、後述します。(次ページへ続く)

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。