Webアプリ開発事始 第14回

WindowsのサーバーサイドWebアプリ実行環境
~ASP
長谷川裕行
有限会社 手國堂

ASPのサンプル(2)~表形式の出力

ASPはソース中にHTMLのタグを埋め込めるため、データベースから抽出した複数件の情報を一覧表示するような処理も簡単に作れます。


- 複数のレコードを表形式で提示する -

リスト3とリスト4は、先ほどと同じ商品の在庫数を保存しているテーブル“T_在庫”から、在庫数がユーザーの入力した値以下の商品だけを抽出し、TABLEタグを使った一覧表形式で提示するアプリケーションのソースです。

リスト3のzaikoq2.htmは、FORMタグを使ってテキストボックスとボタンを表示し、テキストボックスに入力された数値をWebサーバーに送信します。

リスト4のitemlist.aspでは、先ほどと同じようにクライアントから送信されてきた値(この処理では在庫数)をあらかじめ文字列定数としておいたSQL文に連結し、それを実行してレコードセットを取得します。


- ループで表の各要素を出力する -

レコードセットは複数件存在することが前提となるため、Do While~Loopによる繰り返し処理(ループ構造)でTDタグによる値の表示を行っています。  データベースの処理結果が複数のレコードとなる場合、この例のようにレコード件数分の繰り返し処理で一覧表の行を必要なだけ生成できます。

リスト3:在庫数を入力するためのHTMLファイル~zaikoq2.htm
リスト4:レコードを検索して一覧表示するASPファイル~itemlist.asp




<注意>
ここでは、SQLによるデータベース処理をわかりやすくするため、テーブル“T_在庫”からレコードを抽出する形にしていますが、実際の業務処理では「在庫数を記録したテーブル――T_在庫」と「商品情報を記録したテーブル――T_商品」を関連付け、そこから必要なフィールドを抜き出して構成したビュー(Accessでいう選択クエリ)を作成し、それを対象にSQLで処理しなければなりません。

上記サンプルのSQLによるデータベース操作は、あくまで説明のために単純化したものです。


IISアプリケーション

IISではASPを使ったWebアプリケーションが一般的ですが、Visual Basic 6.0を使ったコンパイル済みのIISアプリケーションも利用できます。ASPのアプリケーションがスクリプトを使ったインタプリタ方式で実行されるのに対して、IISアプリケーションはコンパイルされたActiveX DLLです。

IISアプリケーションを作るには、Visual Basicで新規プロジェクトを作成するとき、プロジェクトの種類で「IISアプリケーション」を選択します。通常のWindowsアプリケーションとは異なり、IISアプリケーションではフォームのデザインなどはできません。その代わりに、HTMLテンプレートを使って動的なHTMLを生成し、クライアントに送信できます。



あとがき

ASPは、現在サーバーサイドのWebアプリケーション環境として注目されているJSPがお手本とした機能です。JSPではEJB(Enterprise JavaBean)によるコンポーネント・プログラミングやJDBCによるデータベース制御が可能ですが、ASPではこれらをActiveXオブジェクトで実現します。

Windowsプログラミングに慣れた人なら、ASPはJSP以上に扱いやすい機能だと言えます。また、プログラミング言語にVBScriptを使える点も有利です。JavaのようにLinuxなど他のプラットフォームで利用できない点が残念ですが、社内ネットワークの業務処理など、既に多くのデータがWindowsのデータベースに記録されている環境なら、業務処理のWeb化にASPが威力を発揮するでしょう。


トップページ
WindowsのWebサーバー
ASP~動的Webサイトの実行環境
ASPのサンプル(1)~データベースの検索
ASPのサンプル(2)~表形式の出力
複数のレコードを表形式で提示する
ループで表の各要素を出力する
あとがき

Copyright © MESCIUS inc. All rights reserved.