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

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

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

OracleDataAdapterウィザードによる構成の変更

 アプリケーションはデータベースにアクセスし、データを表示するようになりました。ただ、実際の開発では、データを絞り込んだり、複雑なクエリが必要となることも多いかと思います。その際にOracleDataAdapterウィザードを用いることで、OracleDataAdapterやOracleCommandの変更を行うことが可能です。

 今回は、OraleDataAdapterウィザードを使って、TextBoxに入力された社員を検索するように変更をしてみましょう。

手順1

 すでに作成されているOracleDataAdapterを右クリックし、「DataAdapterを構成...」をクリックします。OracleDataAdapterウィザードが起動します。「次へ」をクリックします(図13)。

図13 OracleDataAdapterウィザードの起動 図13 OracleDataAdapterウィザードの起動

手順2

 OracleConnectionを構成します。今回は、ドラッグ&ドロップですでに作成されているDataAdapterに対して再構成をしている状態ですので、接続の情報などはすでに指定されています。このまま「次へ」をクリックします(図14)。

図14 OracleConnectionを構成 図14 OracleConnectionを構成

手順3

 SELECT文のタイプを指定します。今回はストアドプロシージャやPL/SQLではなくSELECT文の変更を行いますので、「SQL SELECT文を作成」を選択して、「次へ」をクリックします(図15)。

図15 SELECT文のタイプを指定 図15 SELECT文のタイプを指定
メモ:「SELECT文のタイプ」は具体的には、OracleCommandオブジェクトのCommandTypeプロパティに当たります。

手順4

 SELECT文を記述します。Oracleエクスプローラから表を選択してドラッグ&ドロップした場合、「SELECT * FROM <表名>」というSELECT文がすでに記述されているはずです。社員名による検索を行うために、パラメータを1つ用意して、そのパラメータを組み込む形でSELECT文を記述する必要があります。まずはパラメータを追加するために「パラメータ...」ボタンをクリックします(図16)。

図16 SELECT文を構成 図16 SELECT文を構成

手順5

 図17のようにパラメータの設定を行います。設定が終わったら「OK」ボタンをクリックします。

図17 パラメータの設定 図17 パラメータの設定
パラメータの詳細
名前 emp_name
方向 Input
タイプ OracleDbType.Varchar2
パラメータ・バインド 名前ごと
メモ:パラメータ・バインドは「位置ごと」と「名前ごと」が選択可能です。今回は、emp_nameというパラメータ名を使用して、値を渡します(後述の手順10を参照)ので、「名前ごと」を選択します。「位置ごと」を選択した場合、パラメータの順番を意識する必要があります。

手順6

 パラメータの準備が終わると、「SELECT文を構成」の画面に戻りますので、作成したemp_nameパラメータを使って、リスト2のようにSELECT文を書き換えます。

SELECT * FROM emp_vpd WHERE ename = :emp_name
リスト2 WHERE句の追加

メモ:SQL内では作成したパラメータはバインド変数として扱います。:(コロン)パラメータ名という形で使用します。

手順7

 SELECTのための設定が終わると、INSERT、UPDATE、DELETEのための設定に移ります。「自動」が選択されていることを確認して「次へ」をクリックします(図18)。

図18 INSERT、UPDATEおよびDELETE文を構成 図18 INSERT、UPDATEおよびDELETE文を構成
メモ:「自動」が選択された場合、手順6で作成したSELECT文に基づいて、INSERT、UPDATE、DELETE文を自動的に生成することになりますが、このSELECT文が、主キーやユニークキーへのアクセスを含まない場合や、結合されたものの場合は自動的に生成できず、エラーが表示されます。その場合、「カスタム」もしくは「作成しない」を選択する必要があります。

手順8

 設定のサマリーが表示されます。確認後、問題がなければ「終了」をクリックします(図19)。

図19 OracleDataAdapterのサマリー 図19 OracleDataAdapterのサマリー

手順9

 OracleConnectionの再作成が行われますので、パスワードの保存を確認するダイアログが表示されます。ここでは「はい」をクリックします。これで、OracleConnection、OracleCommand、OracleDataAdapterの再作成が終了します(図20)。

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

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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