SQL Server実践的入門 (第2回)
InterDev入門

横田 秀次郎

●前回の復習
 前回は前半でInterDevの統合開発環境(以後IDEと略称)の中で開発のための補助手段としてSQLデータベースSQL ServerにアクセスするVisual Toolsと呼ばれるツール機能が存在することを説明し,この機能を利用するにはプロジェクトを起動し,そのプロジェクトの中でSQL Server中のデータベースとDSN経由でデータ接続手続き(手続き名あり)を行う必要があることも説明した.
 後半ではADOオブジェクトを利用して,SQLデータベース中のテーブルデータをホームページへ表示するASPファイルをエディターで手作りしたものを紹介した.これはVBScriptによるADO呼び出しプログラムの基本構文を示すために用いた.このASPファイルはDSNが必要だが,データ接続手続きもInterDevも関係なく動作する.
●今回の課題
 今回はASPファイルを作成するツールであるInterDevを利用して,前回と同じSQL ServerとリンクしたASP型ホームページを作成する方法の1つを紹介する.

1. プロジェクトの作成  

エディターでホームページを作成するときはHTMLあるいはASPファイルはそれぞれ独立していますが,InterDevでホームページを作成するときはプロジェクトという概念で,ファイルがグループ化されます.

2.SQL Serverとのデータ接続
 プロジェクトの作成は前回説明した通りです.その名前はtest1です.このプロジェクトにはSQL Server中のデータベースcqtest_dbをDSN名cqtest_ds,データ接続名cqtest_dpでリンクしましたが,それをそのまま利用します.

3. データフォームウイザードの活用  

今回はASPファイルをエディターで手作りするのではなく,ツールを使って,気軽に作業を進めることにしましょう.ツールの中でもお任せ機能のデータフォームウイザードを使用することにします.
 ここで用いるInterDevは,単独のパッケージとして市販されているもの以外に,Visual Studioの1つ,Exchange Server 5.5などに含まれています.

 InterDev上でプロジェクトが開いており,データ接続手続きが済んでいる状態で,IDEのメニューバー「新規作成(N)」を選択して,図1の「新規作成」ウインドウを呼び出します.

  図1 [新規作成]ウインドウ 


 この画面でファイルウイザードを指定しておいて,テキストボックス「ファイル名(N)」にtest1を入力しましょう.最後に[OK]ボタンをクリツクすると図2の「データベース接続の設定」ウインドウが呼び出されます.


図2 [データベース接続の設定]ウインドウ

 この画面ではデータ接続は既に済ませているので,cqtest_dpがプルダウンボックスに表示されています.データ接続を事前に行っていない場合は,[新規作成]ボタンを押すことによりこの画面でそれを行うことも可能です.
 タイトルとしては「cqtest_db社員テーブルのテスト表示」と入力しましょう.最後に[次へ(N) >]をクリックして次へ進みます.  次に図3の「レコードの選択」ウインドウが呼び出されます.


図3 [レコードの選択]ウインドウ  

 この画面ではフォームに使用するデータベースオブジェクト型を指定します.選択対象はテーブル,ストアドプロシージャ,ビュー,SQLステートメントです.ここではSQLステートメントを選んだ後[次へ(N)]ボタンで次へ進みます.  次は,図4の「SQLステートメント」を入力するウインドウが呼び出されます.


  図4 [SQLステートメント]を入力するウインドウ

 ここでは,テキストボックスに検索のためのSQL文を書き込まなければなりませんが,そのためにはテーブル名と項目名(フィールド名)を知っている必要があります.

(注)もし,忘れていたらIDEの左側プロジェクトワークスペースでタブ「Data View」を選択し,図5に示されたようにテーブル仕様を参照することができます.


 ここでは前回ADOプログラムに埋め込んだと同じ下記SQL文を入力します.

  SELECT 氏名, 誕生日, 自宅電話番号 FROM 社員

図5 [Data View]によるテーブル仕様の参照

 これと同じことをSQL文を使わずに実現できます.図3の「レコードの選択」ウインドウでテーブルを指定しますと,図6の「フォームに表示するフィールドを選択」ウインドウが呼び出されます.  ここで,プルダウンボックス「テーブル/ビュー」で「社員」を選ぶとそのテーブルに属するフィールドの一覧が表示されますから,その中からマウスで必要なフィールド名を指定すると選択されたフィールドの一覧に移動します.
 ここでは氏名, 誕生日, 自宅電話番号の3つのフィールド名を選択しましょう.先ほどのSQL文と同じ結果を得ます.


図6 「フォームに表示するフィールドを選択」ウインドウ

 どちらを経由するにしろ,次は図7の「フォームに使用する編集オプションを指定」ウインドウに移ります.
 ここでは最初ですから控えめに「ユーザーは情報の参照のみ可能」を選びます.レコードの修正,挿入,削除などのその他機能は一切使用しないことで様子を見ることにします.


図7 「フォームに使用する編集オプションを指定」ウインドウ

 次に,図8の「表示用のオプションを選択」ウインドウが表示されるので,ここでも控えめに改頁機能を伴わない「リストビューでデータを表示」のみを選択し,レコードごとに1画面となるフォームビューも省略することにします.なるべく前回と条件をそろえることにしましょう.


図8 [表示用のオプションを選択]ウインドウ

 最後に,図9の「ページの表示方法を決定」ウインドウが呼び出されます.これは画面全体の背景の模様など飾り付けを替えるもので,表示されるデータそのものには関係ありません.余裕ができたとき,あるいは本番で使うときはどれが適当かそれぞれを試してみてください.

図9 [ページの表示方法を決定]ウインドウ


 ここで[次へ(N)>]を選ぶとホームページの作成は終了し,図10の確認表示画面を経由してデータフォームウイザードは終了します.


図10 設定条件入力完了画面

 すると,FileViewの中のに次の2つのファイルが追加されています.
  test1Action.asp   test1List.asp  そこで,test1List.aspにマウスを当てて,右クリックすると図11の中に示されたようなショートカットメニューが表示されるので,この中から「ブラウザでプレビュー(B)」を選びます.

  図11 FileViewの中に作成されたaspファイルが追加される.


 すると公開したときにWebブラウザーで読み出したと同じ画面でホームページが表示されますが,残念ながら漢字が化けています.このバクは本誌7月号のHelpDisk Q202で紹介した,マイクロソフトのテクニカルサポート[V110]に従い下記の通り対策します.
[バグ対策] (1) 作成された2つのaspファイルの中でServer.HTMLEncodeとあるところをHTMLEncode2と置き換える.
(2) Test1list.aspファイル中でFunction定義が並んだエリアの頭のところに次のFunctionを追加する.

  Function HTMLEncode2(str)

    HTMLEncode2=Replace(str,"<","&lt;")

  End Function  

  上記修正作業を施した後で修正を施したファイルを右クリックしてショトカットメニューを呼び出して,[作業コピーの開放(K)]をクリックして,正規ファイルへの変更内容の反映を実行する必要があります.

(注)  InterDevによるホームページの作成ではファイルは2個所に保存されます.1つはWebサーバーの中であり,もう1つはワーキングエリアです.ワーキングエリアは新規作成でプロジェクトを起こしたときに[位置(C)]で指定したディレクトリーです.作業中はワーキングエリア中のファイルに保存します.これはファイル共有対策のためでしょう.作業中に外部からアクセスがあってはまずいですから.


 再度test1List.aspにマウスを当てて,右クリックし,呼び出されたメニューのところで「ブラウザでプレビュー(B)」を選ぶと,図12のように漢字が正常に表示されたホームページが得られます.


  図12 作成されたホームページ(スクロール表示方式)

 この画面でもう1つ気になる点があります.元のテーブルにはない項目番号がすべて零になっていることです.これも手直しをしなければとも思ったのですが,これは図8で改頁機能を殺したためで,試しに図8で5行(レコード)で改頁を行うように指定したところ,図13のような画面が選られました.正常に一環番号が振られており,さらに頁移動のための仕掛けとしての矢印アイコンも追加されています.


図13 改ページ方式で作成されたホームページ

 これで1件落着ということになりますが,データフォームウイザードにはこれ以上の機能が備わっています.図7と図8の設定画面をもう一度よく見直してみてください.
 データ入力のために1行(レコード)を1フォームウインドウに表示するモード,更新,追加,削除を許すモード,検索条件を指定できるフィルター機能などが指定できます.  これらの内容については次回で説明する予定です.なお,余力のある方はぜひ本誌創刊号のASP特集の第3章,第4章を並行して読んでください.両者相まって理解が深まるはずです.

連絡先;−
 当記事に関する問い合わせ,企業内の勉強会や各種学校でのセミナーでの講師の要望などがあれば,下記に連絡ください.
kyanzu@a2.mbn.or.jp

copyright 1998 横田秀次郎