検索
連載

ODTを使ったVisual StudioからのPL/SQL開発.NETユーザー必見! Oracle 10gのお作法(2)(3/4 ページ)

オラクル社が提供する3つの.NET環境用開発ツール「ODP.NET」「ODT」「ODE.NET」。Oracle 10gリリース2に対応した最新版を使って、Oracleデータベースを前提とした.NETアプリケーションの開発手法を解説する。(編集部)

PC用表示 関連情報
Share
Tweet
LINE
Hatena

Webページの作成

 それではストアドプロシージャとASP.NETを連携させるアプリケーションを作成してみましょう。今回作成するサンプルは従業員の居眠り回数を表示し、ストアドプロシージャを使って更新するアプリケーションです。

 Visual Studioを起動し、メニューの[ファイル]→[新しいWebサイト]を選択すると[新しいWebサイト]ダイアログが表示されます。IISがセットアップされていない環境でも動作可能とするため、[場所]から[ファイルシステム]を選択します(図18)。

図18 新しいWebサイトをファイルシステム上に作成する
図18 新しいWebサイトをファイルシステム上に作成する

 前回と同様、作成したWebサイトにOracle.DataAccessの参照設定を追加します。今回作成するWebサイトに、前回作成したDataAccessクラスを追加します。前回と同様、ソリューションエクスプローラよりWebサイトを右クリックし[ASP.NETフォルダの追加]→[App_Code]と選択します。作成されたApp_Codeフォルダを右クリックし、[既存項目の追加]より、前回作成したDataAccess.vb(またはDataAccess.cs)ファイルを追加します。

 追加したDataAccessクラスに、EMP表とDOZE表をJOINして社員情報と居眠り回数を取得するGetDozeDataメソッドを追加します(リスト3)。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 この時点で一度Webサイトをビルドします(方法と理由は前回を参照)。

 次にWebページにGridViewを追加しIDをDozeGridViewに変更します。DozeGridViewにObjectDataSourceを追加し、SELECTメソッドにはGetDozeDataを設定します。GridViewやObjectDataSourceの追加方法については前回の記事をご覧ください(図19)。

図19 DozeGridViewの作成
図19 DozeGridViewの作成

 Webブラウザを開き、正常にEMP表とDOZE表からデータが取得できていることを確認します(図20)。

図20 Webブラウザで動作確認
図20 Webブラウザで動作確認

ストアドプロシージャ呼び出しの追加

 Webページにストアドプロシージャの呼び出しを追加します。DozeGridViewの右上にある三角マークをクリックし、表示されるGridViewタスクから[新しい列の追加]をクリックします(図21)。

図21 GridViewに新しい列を追加する
図21 GridViewに新しい列を追加する

 [フィールドの追加]ダイアログが表示されますので、「フィールド型」を「ButtonField」、「ボタンの種類をButton」、テキストに「報告」と入力して[OK]を押下します。コマンド名は本来不要ですが、Cancelのままとしておきます(図22)。

図22 フィールドのプロパティ設定
図22 フィールドのプロパティ設定

 DataAccessクラスにストアドプロシージャ呼び出しのメソッドを追加します(リスト4)。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 Webページのボタンが押下された際に、リスト4で追加したメソッドを呼び出すコードを記述します。Default.aspxの上部コンボボックスよりDozeGridViewのRowCommandイベントを選択し(図23)、リスト5のコードを記述します。

図23 DozeGridViewのRowCommandイベントを選択
図23 DozeGridViewのRowCommandイベントを選択

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 Webサイトをビルド、デバッグ実行しエラーが発生しないことを確認します(図24)。

図24 ストアドプロシージャの動作確認
図24 ストアドプロシージャの動作確認

 実行後、Dozeテーブルのデータを参照し、正常に登録されていることを確認します(図25)。

図25 テーブルのデータ確認
図25 テーブルのデータ確認

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る