Windowsプラットフォームにおけるアプリケーション開発は、.NETが主流となりつつある。本連載はVisual Basicから.NETへの移行を考えているOracleアプリケーション開発者に向けて、「Oracle Data Provider for .NET」を使うメリットや独自機能、新しいプログラミング・スタイルなどを解説する。(編集局)
今回はASP.NET上でOracle Data Provider for .NET(以下、ODP.NET)を利用する際のコーディングを説明します。また、ASP環境でOracle Objects for OLE(以下、OO4O)を利用して開発されたアプリケーションからの移行の際に役立つ開発手法の違いも解説します。
Windows ServerでのWebアプリケーション開発フレームワークがASPからASP.NETに進化したことで、画面デザインと処理ロジックの完全な分離が実現されました。さらにHTMLコードとHTTP通信を抽象化したフレームワークと開発環境が提供されたことにより、Webアプリケーションでありながらクライアント/サーバ型アプリケーションに近いイベントドリブン・モデルによる開発が実現されました。表1にASPとASP.NETの開発手法の違いをまとめました。
ASP | ASP.NET | |
---|---|---|
方式 | HTMLタグの中にスクリプトを埋め込む | コンポーネントベースのWeb開発 |
特徴 | デザインと処理の分離が不完全 | デザインと処理の分離が可能 |
表1 ASPとASP.NETの開発手法の違い |
これ以外にも、ASP.NETではASPに比べてWebアプリケーションの開発スタイルが以下のように大きく変わりました。
業務アプリケーションでは、データベースから取得したデータを画面に表示する機能が数多く実装されていると思います。このようなデータ表示処理の場合、ASPからOO4Oを利用したアプリケーションの開発では、表のデータを1行ずつループで取得し、HTMLのタグを利用して表示する必要がありました。しかし、ASP.NETではデータバインド機能を使用することで、同様の処理をより容易に開発することが可能です。
それでは、ASP.NETからODP.NETを利用し、表のデータを表示する手順を見ていきます。
1. Webフォームの設定
ASP.NETのWebフォーム上に以下のコントロールを貼り付けます。
2. コントロールのプロパティの値を設定
Webフォーム上に貼り付けたコントロールに対してプロパティの値を以下のように設定します。コントロールの番号は、図1の番号に対応しています。
コントロール | コントロール名 | プロパティ | 設定値 | |
---|---|---|---|---|
(1) | OracleConnection | OracleConnection1 | ConnectionString | UserId=scott; Password=tiger;Data Source=orcl |
(2) | OracleCommand | OracleCommand1 | Connection | OracleConnection1を指定 |
(3) | OracleDataAdapter | OracleDataAdapter1 | SelectCommand | OracleCommand1を指定 |
(4) | DataSet | DataSet1 | 変更なし | 変更なし |
(5) | DataGrid | DataGrid1 | 変更なし | 変更なし |
表2 ODP.NETで提供されているオブジェクト一覧 (orclの部分は各自のサービス名を指定してください) |
3. Page_Loadイベントにコードを記述
Page_Loadイベントに以下のコードを記述します。
Private Sub Page_Load(ByVal sender As System.Object, _ |
リスト1 データバインドを使用してDataGridへemp表を表示させるサンプルコード(VB.NET) |
private void Page_Load(object sender, System.EventArgs e) |
リスト2 データバインドを使用してDataGridへemp表を表示させるサンプルコード(C#) |
ASP.NETのデータバインド機能を使用することにより、DataBindメソッドを発行するだけで、DataGridコントロールが内部でループ処理をしてくれます。これにより、集合データ表示の開発生産性が大幅に向上します。ASPで同様の処理をさせるには数十行のコードを記述しなければいけませんが(図2)、ASP.NETでは必要なコントロールをWebフォームに貼り付け、プロパティを設定後に数行のコードを記述するだけで実現できます(図3)。
ASPからASP.NETになり、Webフォームにコントロールを貼り付け、データベースからの結果と連携するようなアプリケーションの開発が可能となりました。(次ページへ続く)
Copyright © ITmedia, Inc. All Rights Reserved.