PowerPoint プレゼンテーション

Similar documents
C:\Apache Software Foundation\Apache2.2\htdocs\sample\login.html サンプルプログラム passworddisc.php <head><title> ログイン </title></head> $user=$_post['user']; $

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid("text_box02_id"); if ("001" == statee

システム分析とデータベース設計

実験 5 CGI プログラミング 1 目的 動的にWebページを作成する手法の一つであるCGIについてプログラミングを通じて基本的な仕組みを学ぶ 2 実験 実験 1 Webサーバの設定確認と起動 (1)/etc/httpd/conf にある httpd.conf ファイルの cgi-bin に関する

JavaScript 演習 2 1

Si 知識情報処理

目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst, MoveNext, MovePrevious, MoveLast)...

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft


ビジネスサーバ設定マニュアル_Standard応用編

JavaScript カスタマイズ入門 kintone university アプリデザイナープラス JavaScript カスタマイズ入門編演習問題回答 演習問題 第 2 章サンプルで試そう 1 cybozu.com developer network の サンプルで試そう ( 以下 サンプル と

問題 1 次の文章は Access データベース およびデータベースの概要について述べたものである にあてはまる適切なものを解答群 { } より選び その記号で答えよ 設問 1. Microsoft Access 2007 データベースのテーブルでは 表す としてデータを { ア. レコードを列 フ

第 7 回の内容 動的な Web サイト フォーム Web システムの構成

PowerPoint プレゼンテーション

スクールCOBOL2002

IISとASPの動作設定

マニュアル訂正連絡票

XMLとXSLT

国土数値情報 XML シェープ変換ツール 操作説明書 平成 23 年 7 月 国土交通省国土政策局

5-2. 顧客情報をエクスポートする 顧客管理へのアクセス手順 メールディーラーで管理する顧客情報に関する設定を行います 1. 画面右上の 管理設定 をクリックする 2. 管理設定 をクリックする 3. ( タブ ) 顧客管理 をクリックする 2

KeyWeb Creator 概要 What s KeyWeb Creator? 動的なホームページを作成するためのツール!! 従来の Web ページ DB を利用した Web ページ <HTML> <HEAD> <TITLE>show_book</TITLE> </HEAD> <BODY> <DI

データベースアクセス

J-Payment クレジットカード 決済システム接続仕様書

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

1. はじめにこのドキュメントは IBMi 上のデータを HTML のテーブルで表示するためのカスタマイズ方法について説明するものです この手法を用いることで スムーズなスクロールによる照会画面 (HTML のテーブル ) を 5250 画面に挿 することが出来ます ( 下図参照 ) なお このドキ

Microsoft PowerPoint - myadmin.ppt

2003年度 情報処理概論

リスト 1 1 <HTML> <HEAD> 3 <META http-equiv="content-type" content="text/html; charset=euc-jp"> 4 <TITLE> 住所の検索 </TITLE> 5 </HEAD> 6 <BODY> <FORM method=

2019年度 Webシステムプログラミングa

ご存知ですか? データ転送

モバイルカスタマイズページ マニュアル 楽天トラベル株式会社モバイル事業部 2007 年 5 月 15 日 1

情報処理概論(第二日目)

SLCONFIG の操作 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストー

目次 1 はじめに 利用条件 動作環境 アドインのインストール アドインの操作方法 アドインの実行 Excel CSV の出力 テンプレートの作成 編集 テンプレートのレイアウト変更 特記

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

PowerPoint Presentation

JavaScriptで プログラミング

ことばを覚える

モデリング操作ガイド (データベースモデリング編)

ウェブサイト内検索機能マニュアル

PowerPoint プレゼンテーション

第 12 講データ管理 1 2 / 14 ページ 12-1 データベースソフトの概要 データベースとは集められた様々なデータをテーマや目的に沿って分類 整理したものです データベースソフトでは データベースを作成し その管理を行います 何種類ものファイルや帳簿で管理していたデータをコンピュータ上で互

<4D F736F F F696E74202D20352D335F8D5C90AC CF909482CC90B690AC82C695D28F572E707074>

Create!Form V11 - Excel 出力設定

プログラミング入門1

hands_on_4.PDF

TALON Tips < カレンダー ( 月別 ) の画面を表示する > 株式会社 HOIPOI 第 1.1 版 p. 1

POWER EGG2.0 Ver2.8 スタートアップガイド ~Webデータベース 応用編~

Dolteng Scaffoldに対する機能追加とマスタ-ディテールScaffoldの紹介

内容 MD00Manager とは?... MD00Manager をインストールする.... ソフトのインストール... MD00Manager の使い方.... 起動をする... 機能説明...7 機能説明 ( メニューバー )...8 機能説明 ( ステータスバー )...8 機能説明 ( コ

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

アンケートフォーム簡易作成機能マニュアル

( 前回 ) 提出課題 課題 1( 提出課題 ): データベースからデータを読み込み, そのデータを表示する Web ページ作成してみましょう user テーブルから書籍のデータを一覧表示する. 手順 1:PHP のファイルを user_list.php という名前で作業フォルダに作成する. プログ

スーパー英語アカデミック版Ver.2

目次 1. テンプレートの準備 1.1 エクセルファイルの準備 1.2 タグを作成する 1.3 エクセルファイルの表示調整 2.PC へテンプレートを追加 3.iPad での ICLT の操作 3.1 入力者の操作 入力者のログイン テンプレートを更新する チェッ


DAOの利用

PowerPoint プレゼンテーション

ファイル入出力

メディプロ1 Javaサーブレット補足資料.ppt

PowerPoint プレゼンテーション

10th Developer Camp - B5

Transcription:

演習 9 入力した条件に従いデータベースからデータを抽出する 1

演習 9 製品情報を取得するサンプル パソコン製品情報が格納された表から 任意のメーカー IDを取得するプログラムの構造を検討する sample1.htm sample1.asp SDEV_MST_PRODUCT 2 データベース クライアント サーバー PC_KATABAN KOBAN MAKER_ID HD-0001 1 NED HD-0002 2 NED パソコン製品情報 SDEV_MST_PRODUCT

演習 9 パソコン製品情報の表 3 パソコン製品情報の表の名前は SDEV_MST_PRODUCT である SELECT * FROM SDEV_MST_PRODUCT を入力し データを確認すること 項番 列名 項目名 データ型 サイズ 内容 1 PC_KATABAN 製品型番 TEXT 10 パソコンの型番 2 KOBAN 子番 INTEGER2 - 並び替えで使用する番号 3 MAKER_ID メーカー ID TEXT 10 パソコンメーカーのID 番号 4 PC_TYPE パソコン種類 INTEGER2 - パソコンメの種類 (0-デスクトップ,1-ノート) 5 PC_NAME 製品名 TEXT 50 パソコンの製品名 6 STOCK_VALUE 仕入れ値 LONG - パソコンの仕入れ値 ( 単位 : 円 ) 7 STOCK_NUM 在庫数 LONG - パソコンの在庫数 8 SAL_VALUE パソコン販売価格 LONG - パソコンの販売価格 ( 単位 : 円 ) 9 SPEC スペック TEXT 255 パソコンのスペック PC_KATABAN は主キーである

演習 9 プログラム構造に関して 4 設問 問 1 内容 sample1.htm と sample1.asp は どの様な処理 ( 画面 ) を行っているか? それぞれの処理概要と構造的な関係を UML 図で示せ (UML はシーケンス図またはコミュニケーション図で表現 ) 問 2 sample1.asp は 表 SDEV_MST_PRODUCT にどの様にアクセスしているか? DB アクセスの処理概要と SQL 文を抜き出す sample1.htm sample1.asp SDEV_MST_PRODUCT

演習 9 設問 1 - 解答例 - 5 設問 内容 sample1.htm と sample1.asp は 問 1 どの様な処理 ( 画面 ) を行っている か? それぞれの処理概要と構造的な 関係を示せ

演習 9 設問 1 6 1 タイトル メッセージ等の表示 sample1.htm 2 検索条件としてメーカ名を入力させるテキストボックスと 検索実行 ボタンを表示 3 検索実行 の submit ボタンを実行すると テキストボックスに入力されたデータ値 ( メーカ名 ) が txtvalue に格納されて sample1.asp に送られる sample1.asp 1 3 2

演習 9 設問 1 7 4 sample1.htm sample1.asp 4 起動と同時にtxtValueに格納された値を取得 5データベースSDEV_MST_PRODUCT 表への接続 /Open 6 取得した値を検索キーとしてSQL 文の生成と実行 6 7 検索結果をHTMLに編集して出力 7 5 Open SQL(Select) Close SDEV_MST_PRODUCT

シーケンス図 8

アクティビティ図 9

演習 9 設問 2 10 設問 内容 sample1.asp は 表 SDEV_MST_PRODUCT に 問 2 どの様にアクセスしているか? DB アクセスの処理概要と SQL 文を抜き出す

演習 9 設問 2 11 sample1.asp [SDEV_MST_PRODUCT] 表から sample1.htm で入力した値 (txtvalue) と一致する MAKER_ID を検索キーとして [MAKER_ID],[PC_NAME],[SAL_VALUE],[SPEC] の値を [KOBAN] の昇順に並べて結果を返す SQL 文を作成 sample1.htm で入力したメーカー ID(txtValue) を取得し formvalue 変数に格納 formvalue = Request.Form ( "txtvalue" ) SQL 文 strsqlwork="select MAKER_ID, PC_NAME, SAL_VALUE, SPEC FROM SDEV_MST_PRODUCT WHERE MAKER_ID='" & formvalue & "' ORDER BY KOBAN"

演習 9 データベースと SQL の構成 SDEV_MST_PRODUCT 12 txtvalue 入力された MAKER_ID SQL 文 SELECT - FROM - WHERE - ORDER BY - [MAKER_ID] [PC_NAME] [SAL_VALUE] [SPEC] という項目を [SDEV_MST_PRODUCT] 表から 入力された [MAKER_ID] を検索キーとして抽出し [KOBAN] の昇順で並べた結果を返す

演習 9 画面の構成 sample1.htm 13 sample1.asp NED の値を渡す

演習 9 sample1.htm ソース 14 1 <html> : ~ 省略 ~ 9 <FORM name="frmsearch" action="./sample1.asp" method="post" target="_self"> 10 <input type="text" value="" name="txtvalue"> 11 <br> 12 <input type="submit" value=" 検索実行 " name="sbmsearch"> 13 </FROM> : ~ 省略 ~ submit ボタン 9 行目から13 行目の処理 submitボタンを実行した時に フィールドに入力された値が txtvalueに格納されて sample1.aspに送られる動作を行う

15 asp ファイル内では HTML として処理する部分と VBScript として処理する部分が混在する asp ファイル内では 上から順にプログラム処理される

1 行目 2 行目は決まりの文言である 16 1 <%@ LANGUAGE="VBSCRIPT" %> 2 <%Option Explicit%> asp で使用する言語を宣言する VBScript を適用する 変数の宣言は 必ず実行しなければならないという宣言文 3 <% ここ <% から %> まで asp VBScript として処理することを示す 即ち 13 行目までを VBScript として処理する asp として処理するのは <% から %> の間となり asp プログラムの中に複数存在しても良い

17 asp ファイル /VBScript で使用する変数の宣言 4 Dim m_objdb ' データベースオブジェクト 5 Dim objrs ' 製品マスター用レコードセットオブジェクト 6 Dim strsqlwork ' SQL 文を格納する変数 7 Dim formvalue ' sample1.htm で入力されたフォームの変数を格納する パラメータの取得 sample1.htm で入力した文字列を取得し 変数 formvalue に格納する ( メーカ ID) 8 formvalue = Request.Form ( "txtvalue" ) sample1.htm の Form 内で定義した入力ボックス名 <input type="text" value="" name="txtvalue"> HTML の Form で入力した値を取得する方法は Request.Form( 名前 ) で行う

データベースをオープン ( 接続 ) する 9 Set m_objdb = Server.CreateObject("ADODB.Connection") データベースに接続するための処理 18 10 m_objdb.open DSN=sdevDB-dsn;" ' 変更しないで下さい データベースを開く 9 行目 10 行目はデータベースを使用するために必要な処理 以後 変数 m_objdb を使って SQL 実行を行う

SQL 文を作成して 変数 strsqlwork に代入する 19 11 strsqlwork = "SELECT MAKER_ID, PC_NAME, SAL_VALUE, SPEC FROM SDEV_MST_PRODUCT WHERE MAKER_ID ='" & formvalue & "' ORDER BY KOBAN" SQL 文 SELECT - FROM - WHERE - ORDER BY - [MAKER_ID] [PC_NAME] [SAL_VALUE] [SPEC] という項目を [SDEV_MST_PRODUCT] 表から入力された [MAKER_ID] を検索キーとして抽出し [KOBAN] の昇順で並べた結果を返す sample1.htm で入力したメーカー ID 値と一致する MAKER_ID を持つデータを抽出する 条件を WHERE 文で定義する 結果を [KOBAN] の昇順で整列させる (ORDER BY 句を使用 )

20 SQL 文を組み立てる まず 検索文を組み立てる 条件文 整列文を除いた SQL 文の作成 SQL 文 SELECT MAKER_ID, PC_NAME, SAL_VALUE, SPEC FROM SDEV_MST_PRODUCT 次に 変数以外の部分を組み入れる 整列文を加えた SQL 文の作成 SQL 文 SELECT MAKER_ID, PC_NAME, SAL_VALUE, SPEC FROM SDEV_MST_PRODUCT ORDER BY KOBAN

21 SQL を変数 strsqlwork に代入する SQL は言語だが asp/vbscript では一連の文字列として処理される そのため SQL 文全体をダブルクゥオーテーション ( ) で囲む必要がある strsqlwork = "SELECT MAKER_ID, PC_NAME, SAL_VALUE, SPEC FROM SDEV_MST_PRODUCT ORDER BY KOBAN" SQL 文は文字列なので " で囲む

sample1.htmで入力した値は 8 行目の処理で変数 formvalueに格納されている 8 formvalue = Request.Form ( "txtvalue" ) 変数 formvalueを条件データとしてsqlを作成する 22 SQL 文は文字列 formvalue は変数 ( 文字列 ) なので strsqlwork 変数への代入式は以下の連結代入の形式となる strsqlwork = " 文字列 " & 変数 & " 文字列 " strsqlwork = "SELECT MAKER_ID, PC_NAME, SAL_VALUE, SPEC FROM SDEV_MST_PRODUCT WHERE MAKER_ID=" & formvalue & "ORDER BY KOBAN"

23 例えば formvalue に NED が格納されている場合 SQL 文は以下のようになる strsqlwork = "SELECT MAKER_ID, PC_NAME, SAL_VALUE, SPEC FROM SDEV_MST_PRODUCT WHERE MAKER_ID=" & formvalue & "ORDER BY KOBAN" strsqlwork = "SELECT MAKER_ID, PC_NAME, SAL_VALUE, SPEC FROM SDEV_MST_PRODUCT WHERE MAKER_ID=NED ORDER BY KOBAN" strsqlwork = "SELECT MAKER_ID, PC_NAME, SAL_VALUE, SPEC FROM SDEV_MST_PRODUCT WHERE MAKER_ID=' " & formvalue & " ' ORDER BY KOBAN" SQL では文字型のデータを設定するには 値を ( シングル クォーテーション ) で囲む必要があるので NED としなければならない

24 12 Set objrs = m_objdb.execute(strsqlwork) SQL 文を実行し 実行した結果を変数 objrs に代入する m_objdb.execute(sql 文 ) で strsqlwork に格納された SQL 文を実行する 実行した結果は 変数 objrs に代入 (set) する 以後 変数 objrs を使って データベースの検索結果の値を操作する objrs の中に SQL 文の検索結果データがレコード数分格納されている 13 %> ここ %> までを asp VBScript として処理することを示す 即ち 3 行目から 13 行目までを VBScript として処理する asp として処理するのは <% から %> の間 この領域は asp プログラムの中に複数存在しても良い

14 <HTML> 15 <HEAD> : : 22 <B> 検索結果 </B> : 25 <TABLE cellspacing="1" cellpadding="3" width="100%"> 26 <TR> 27 <TD bgcolor="#333333" align="center"><font size="2" COLOR="#ffffff"><b> 製品名 </b></font></td> : : 31 </TR> 25 記述された HTML タグをそのまま処理する この部分は HTML のヘッダ部と一覧 TABLE の 1 行目 ( 列タイトル ) を出力している

26 18 <TITLE> サンプル 1- 検索結果 -</TITLE> 19 </HEAD> 20 <BODY bgcolor="#ffffff"> 21 <CENTER> 22 <B> 検索結果 </B> 23 <BR> 24 <BR> 25 <TABLE cellspacing="1" cellpadding="3" width="100%"> 26 <TR> 27 28 29 30 31 </TR> <TD bgcolor="#333333" align="center"><font size="2" COLOR="#ffffff"><b> 製品名 </b></font></td> <TD bgcolor="#333333" align="center"><font size="2" COLOR="#ffffff"><b> メーカー </b></font></td> <TD bgcolor="#333333" align="center"><font size="2" COLOR="#ffffff"><b> 販売価格 </b></font></td> <TD bgcolor="#333333" align="center"><font size="2" COLOR="#ffffff"><b> スペック </b></font></td>

27 32 <% 更に ここ <% から %> まで asp VBScript として処理することを示す 即ち 32 行目から 43 行目までを VBScript として処理する Do While ~ Loop 文で ( 検索結果データを表形式で表示するタグを生成する処理 ) objrs.eof が False( 偽 ) の間 Loop までの間の処理を繰り返すことを意味する 33 Do While (objrs.eof = False) 34 Response.Write("<TR>") 35 Response.Write(vbCrLF) 36 Response.Write("<TD>" & objrs("pc_name") & "</TD>") 37 Response.Write("<TD>" & objrs("maker_id") & "</TD>") 38 Response.Write("<TD>" & objrs("sal_value") & "</TD>") 39 Response.Write("<TD>" & objrs("spec") & "</TD>") 40 Response.Write("</TR>") 説明 改行文字を HTML 上に出力 プログラムでは特に必要ないが HTML に出力したときにソースを見やすくするために入れている 41 objrs.movenext 42 Loop 説明 次のレコードへ この処理をいれないと無限ループに陥る

33 Do While (objrs.eof = False) 34 Response.Write("<TR>") 35 Response.Write(vbCrLF) 36 Response.Write("<TD>" & objrs("pc_name") & "</TD>") 37 Response.Write("<TD>" & objrs("maker_id") & "</TD>") 38 Response.Write("<TD>" & objrs("sal_value") & "</TD>") 39 Response.Write("<TD>" & objrs("spec") & "</TD>") 40 Response.Write("</TR>") 34 行目から 40 行目を繰り返すごとに 1 行分のデータを HTML 上に出力している 28 出力される HTML 文 41 objrs.movenext 42 Loop <TR> <TD>VALUE START</TD><TD>NED</TD><TD>184800</TD><TD>Duran1.7GHz, 512MB,80GB UltraATA100, DVD-ROM</TD></TR> <TR> <TD>VALUE START</TD><TD>NED</TD><TD>239800</TD><TD>Tentium4 2.4GHz, 512MB,120GB UltraATA100, DVD-ROM</TD></TR> <TR> <TD>Lavie</TD><TD>NED</TD><TD>174800</TD><TD>Duran1GHz, 256MB, 30GB UltraATA66, CD-R/RW</TD></TR> <TR> <TD>Lavie</TD><TD>NED</TD><TD>254800</TD><TD>Tentium M 1.7GHz, 512MB,60GB UltraATA100, CD-R/RW DVD-ROM</TD></TR> 出力される画面

HTML 上に出力するには Response.Write を使用する Response.Write( 文字列 ) で HTML 上に文字列を出力する 29 34 行目では <TR> を最後の40 行目では </TR> をHTML 上に出力する 以下同様の処理を行う 35 行目の vbcrlf は改行コードを示す 改行文字をHTML 上に出力 プログラムでは 特に必要ないがHTMLに出力したときにソースを見やすくするために入れている 34 Response.Write("<TR>") 35 Response.Write(vbCrLF) 36 Response.Write("<TD>" & objrs("pc_name") & "</TD>") 37 Response.Write("<TD>" & objrs("maker_id") & "</TD>") 38 Response.Write("<TD>" & objrs("sal_value") & "</TD>") 39 Response.Write("<TD>" & objrs("spec") & "</TD>") 40 Response.Write("</TR>")

列の値を取り出すには objrs(" 列名 ") を使用する PC_NAME の値は objrs( PC_NAME ) MAKER_ID の値は objrs( MAKER_ID ) SET_VALUE の値は objrs( SET_VALUE ) SPEC の値は objrs( SPEC ) 30 36 行目から39 行目は objrs 変数内の [PC_NAME] [MAKER_ID] [SET_VALUE] [SPEC] のデータを <TD> 各種データの実体 </TD> でHTML 上に出力する 36 Response.Write("<TD>" & objrs("pc_name") & "</TD>") 37 Response.Write("<TD>" & objrs("maker_id") & "</TD>") 38 Response.Write("<TD>" & objrs("sal_value") & "</TD>") 39 Response.Write("<TD>" & objrs("spec") & "</TD>")

31 objrs.movenext objrs.movenext objrs.movenext objrs.movenext objrs objrs objrs objrs objrs objrs.eof=false objrs.eof=true の状態 の状態 objrs は 1 行ずつ操作できる それ以上 行 ( レコード ) が存在しない場合は objrs.eof=true となる (Eof=End of file) 34 行目から 41 行目までを Eof 状態になるまで繰り返す 繰り返すごとに 1 行分のデータを HTML 上に出力している

データベースの終了処理を行う 32 49 <% 更に ここ <% から %> まで asp VBScript として処理することを示す 即ち 49 行目から 53 行目までを VBScript として処理する 50 Set objrs = Nothing 51 m_objdb.close 52 Set m_objdb = Nothing 変数 objrs の解放 データベースをクローズする 変数 m_objdb の解放 53 %> 49 行目から 53 行目までを VBScript として処理する 解放 : PC やサーバ内の資源 ( 主にメモリ領域 ) をプログラム動作前の状態に戻すことをいう