• 検索結果がありません。

untitled

N/A
N/A
Protected

Academic year: 2021

シェア "untitled"

Copied!
31
0
0

読み込み中.... (全文を見る)

全文

(1)

データベース実習レポート

田中

課題 データベースを利用したインターネットショッピングシステムの作成 担当 データベースサーバとの通信、および web ページの作成(アドミニストレータ 用) 目的 ユーザからの要求を受け取り、データベースサーバ上で使用する関数を選択す る。使用関数が決定したら、それに必要な引数をユーザから受け取って、それ らをデータベースサーバに送信する。データベースサーバから関数実行の結果 を受け取り、それをブラウザ上で表示する。 機能 データベース上には以下の3つのクラスが作成されている。 ・Customer 顧客名簿 ・Commodity 商品名簿 ・Order 注文表

web ページは上記のクラスに合わせて、Customer 、Commodity 、Order という ページを作り、それぞれのページからデータベースに対する操作を選択できる ようにした。 **Customer ページ ・ CUSTOMER LIST(現在登録されているユーザの情報を表示する。) データベースサーバに要求して顧客情報の一覧を受け取り、ユーザ ID でソートして表示する。 ・ ADD CUSTOMER(顧客の登録を行う。) 使用されているユーザ ID の中で最大のものを検索し、それより1 大きい数をユーザ ID として自動的に割り当てる。このユーザ ID と、 ユーザから入力された顧客のメールアドレス、パスワードをデータ ベースサーバに渡す。この時、テンプレート名として、addCus を 指定する。 ・ DELETE CUSTOMER(顧客の削除を行う。) ユーザから入力されたユーザ ID をデータベースサーバに渡す。こ の時、テンプレート名として、delCus を指定する。 *addCus ページ 手続き addcus()を利用して、顧客の登録を行う。成功、または失敗 のメッセージを表示し、その時点での顧客情報の一覧を表示する。 *delCus ページ 手続き deletecus()を利用して、顧客の削除を行う。成功、または失 敗のメッセージを表示し、その時点での顧客情報の一覧を表示する。

(2)

**Commodity ページ ・ COMMODITY LIST(現在登録されている商品の情報を表示する。) データベースサーバに要求して商品情報の一覧を受け取り、商品 ID でソートして表示する。この時、在庫量が 0 のものは、赤字で 表示する。 ・ ADD COMMODITY(商品の追加を行う。) 使用されている商品 ID の中で最大のものを検索し、それより1大 きい数を商品 ID として自動的に割り当てる。この商品 ID と、ユー ザから入力された商品名、単価、数量をデータベースサーバに渡す。 この時、テンプレート名として、addCom を指定する。 ・ DELETE COMMODITY(商品の削除を行う。) ユーザから入力された商品 ID をデータベースサーバに渡す。この 時、テンプレート名として、delCom を指定する。 ・ ADD STOCK(商品の在庫の追加。) ユーザから入力された商品 ID と追加量をデータベースサーバに渡 す。この時、テンプレート名として、addStock を指定する。 ・ SUB STOCK(商品の在庫の削除。) ユーザから入力された商品 ID と削除量をデータベースサーバに渡 す。この時、テンプレート名として、subStock を指定する。 *addCom ページ 手続き addcom()を利用して、商品の追加を行う。成功、または失敗 のメッセージを表示し、その時点での商品情報の一覧を表示する。 *delCom ページ 手続き delcom()を利用して、商品の削除を行う。成功、または失敗 のメッセージを表示し、その時点での商品情報の一覧を表示する。 *addStock ページ 手続き addstock()を利用して、商品在庫の追加を行う。成功、また は失敗のメッセージを表示し、その時点での商品情報の一覧を表示 する。 *subStock ページ 手続き substock()を利用して、商品在庫の削除を行う。成功、また は失敗のメッセージを表示し、その時点での商品情報の一覧を表示 する。 **read_Order ページ ・ SELECT USER(注文を行う顧客名を指定。) プルダウンメニューで選択された顧客名の ID をデータベースサー バに渡す。この時、テンプレート名として、Order を指定する。 **Order ページ ・ ORDER LIST(注文表を表示する。) データベースサーバに要求して、read_Order ページで指定された顧 客の注文一覧を受け取り、オーダ No でソートして表示する。この

(3)

時、手続き cleanorder()を利用して、注文表からの削除期限が過ぎて いる物を削除しておく。 ・ ADD ORDER(注文を行う。) 使用されているオーダ No の中で最大のものを検索し、それより1 大きい数をオーダ No として自動的に割り当てる。このオーダ No と、注文を行うユーザ ID、商品 ID、注文量をデータベースサーバ に渡す。この時のユーザ ID は、read-Order ページで指定されたユー ザ ID を使用するが、Read_Order ページで ALL を指定した場合は、 注文を行う顧客名をユーザに選択させる。また、商品 ID はプルダ ウンメニューから商品名で選択させ、それに該当する商品 ID をサ ーバに渡す。この時、テンプレート名として delOrder を指定する。 ・ DEELETE ORDER(注文のキャンセルを行う。) ユーザから入力されたオーダ No をデータベースサーバに渡す。こ の時、テンプレート名として、delOrder を指定する。 ・ SEND ORDER(商品の発送を行う。) ユーザから入力されたオーダ No をデータベースサーバに渡す。こ の時、テンプレート名として、sendOrder を指定する。 *addOrder 手続き addorder()を利用して、注文を行う。成功、または失敗のメ ッセージを表示し、その時点でのユーザの注文の一覧を表示する。 *delOrder 手続き deleteorder()を利用して、注文のキャンセルを行う。成功、 または失敗のメッセージを表示し、その時点でのユーザの注文の一 覧を表示する。 *sendOrder 手続き sendorder()を利用して、注文の発送を行う。成功、または失 敗のメッセージを表示し、その時点でのユーザの注文の一覧を表示 する。 内部設計

今回はデータベースとの通信に WebLink を利用した。WebLink は、WebLink テンプレートに含まれている ODQL コマンドを使用して Jasmine データベース にアクセスする。テンプレートは WebLink セション中に表示されるページのひ な型を、Jasmine データベースに格納したものである。WebLink テンプレートに は、通常の HTML の構造に加えて、Jasmine データベースからデータを検索す るための ODQL 文を含むことができる。 まず、HTML_Template クラスにテンプレートを作成し、WebLink クラスファ ミリ格納しておく。すると、 WWW ブラウザから WebLink コマンド(odb-get.exe)が起動された時に、指定された WebLink テンプレートを通して、デー タベース処理が実行される。

(4)

内部構造の詳細は以下の通りである。 Index.html Homepage2.html Customer Commodity Order addCus delCus

addCom delCom addStock subStock

Read_Order

addOrder delOrder sendOrder

Logout.html

Logout_message.html Domain error

Object not found Already send のエラー 上記以外 のエラー Error.html login logout logout

(5)

使用法 Web ブラウザで http://jasmine.db.is.kyushu-u.ac.jp/tanaka/ にアクセスする。ユーザ名とパスワードを要求されるので、jasmine ログイン時 に使用するユーザ名、パスワードを入力する。 正しければ、ホームページに移動する。あとはメニューに従って操作を行えば よい。最後は logout を選択して、終了する。 工夫点 ・注文時にユーザ ID などの入力ミスが起こりやすかった為、プルダウンメニ ューを利用して選択方式にした。また、在庫のない商品を注文できないように するため、在庫0の商品をメニューに表示させないようにした。 ・ユーザ ID や商品 ID が重複しないように、自動で番号を割り当てるようにし た。 ・アドミニストレータ用なので、注文時に顧客別の注文一覧と、全顧客の注文 一覧を選択できるようにした。 統合結果、考察 プログラムを統合した結果、引数の受け渡し、結果の表示などは、特に問題 なく動いた。Web のプログラムの作成で、WebLink を利用するという方針が決 定し、使用環境を整えるまでに時間がかかってしまった為、もう少し早くでき ていれば良かったと思う。 プログラムリスト index.html <HTML> <HEAD> <TITLE>login</TITLE> </HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<CENTER>

<h1>KANEKO SHOPPING CENTER LOGIN PAGE</h1>

<FORM ACTION="/cgi-bin/odb-login.exe" METHOD="POST"> Please push OK!<BR>

<INPUT TYPE="submit" VALUE="OK"> <INPUT TYPE="hidden" NAME=WIT_env

VALUE=/jasmine/jasmine31/jasmine/WebLink/lib/default2.env> </FORM>

<FORM ACTION="/cgi-bin/odb-login.exe" METHOD="POST"> Administorator Login<BR><INPUT TYPE="hidden" NAME=WIT_env VALUE=/jasmine/jasmine31/jasmine/WebLink/lib/default.env>

(6)

Password:<INPUT NAME=WIT_passwd TYPE="password" SIZE=20><BR>

<INPUT TYPE="submit" VALUE="OK"> </FORM> </CENTER> </FONT> </BODY> </HTML> Homepage2.html <HTML> <HEAD> <TITLE>Home</TITLE> </HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<H1>WELCOME TO KANEKO SHOPPING CENTER FOR ADMIN!</H1>

<A HREF="/cgi-bin/odb-get.exe?WIT_template=Customer"><H2>CUSTOMER</H2 </A><BR> <P> <A HREF="/cgi-bin/odb-get.exe?WIT_template=Commodity"><H2>COMMODITY</H2 </A><BR> <P> <A HREF="/cgi-bin/odb-get.exe?WIT_template=Read_Order"><H2>ORDER</H2 </A><BR> <P>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/homepage2.html"> TO TOP PAGE <BR> <A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/logout.html"> LOGOUT<BR> </FONT> </BODY> </HTML> Customer <HTML> <HEAD> <TITLE>CUSTOMER TOP</TITLE> </HEAD>

(7)

<FONT size="4" color="#0000ff"> <H1>CUSTOMER LIST</H1>

<!VAR "Bag<moriiCF::Customer>" "cusbag"> <!VAR "moriiCF::Customer" "cus">

<!VAR "moriiCF::Customer" "c"> <!VAR Integer i>

<!DO "cusbag = cus.printcus()"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH>

<!DO "cusbag = cusbag.sort(\"uid\")"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html"> <!/CATCH> <P> <table border = 2> <tr> <th align = left>userID</th> <th align = left>mail</th> <th align = left>passwd</th> </tr> <!DO "i=0"> <!FOREACH cusbag c> <tr>

<td align = left><!REPLACE c.uid></td> <td align = left><!REPLACE c.mail></td> <td align = left><!REPLACE c.pass></td> </tr> <!IF "i<c.uid"> <!DO "i=c.uid"> <!/IF> <!/FOREACH> </table> </P> <!DO "i = i + 1"> <P> <H1>ADD CUSTOMER</H1> Fill the forms and push 'go!'

(8)

<FORM ACTION="/cgi-bin/odb-get.exe" METHOD="POST"> <INPUT TYPE="hidden" NAME=WIT_template VALUE=addCus> <INPUT TYPE="hidden" NAME="uid" VALUE=<!REPLACE i>> mail:<INPUT TYPE="text" NAME="mail" size="40"><BR>

password:<INPUT TYPE="password" NAME="pw" size="40"><BR> <INPUT TYPE="submit" VALUE="go!">

</FORM> </P>

<P>

<H1>DELETE CUSTOMER</H1> Fill the forms and push 'go!'

<FORM ACTION="/cgi-bin/odb-get.exe" METHOD="POST"> <INPUT TYPE="hidden" NAME=WIT_template VALUE=delCus> ID:<INPUT TYPE="text" NAME="uid" size="10"><BR>

<INPUT TYPE="submit" VALUE="go!"> </FORM>

</P>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/homepage2.html"> TO TOP PAGE <BR>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/logout.html"> LOGOUT<BR>

</FONT> </BODY> </HTML> addCus <HTML> <HEAD>

<TITLE>Result of add customer</TITLE> </HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<!VAR "moriiCF::Customer" "cus">

<!VAR "Bag<moriiCF::Customer>" "cusbag"> <!VAR "Integer" "i">

<!DO "i = cus.addcus(wit_uid.convertToInteger(),wit_mail,wit_pw)"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH>

<!IF "i==1">

<H2> MISSION COMPLETE!</H2><BR> <!ELSE>

(9)

<!IF "i==2">

<H2> OBJECT NOT FOUND!</H2><BR> <!ELSE> <!IF "i==3"> <H2> DOMAIN ERROR!</H2><BR> <!ELSE> <!IF "i==0"> <H2>ALREADY SENT!</H2><BR> <!ELSE>

<H2>ERROR! TRY AGAIN!</H2><BR> <!/IF>

<!/IF> <!/IF> <!/IF> <P>

<!--print the table-->

<!VAR "moriiCF::Customer" "c"> <!DO "cusbag = cus.printcus()"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH>

<!DO "cusbag = cusbag.sort(\"uid\")"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html"> <!/CATCH> <table border = 2> <tr> <th align = left>userID</th> <th align = left>mail</th> <th align = left>passwd</th> </tr> <!FOREACH cusbag c> <tr>

<td align = left><!REPLACE c.uid></td> <td align = left><!REPLACE c.mail></td> <td align = left><!REPLACE c.pass></td> </tr>

<!/FOREACH> </table>

(10)

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/homepage2.html"> TO TOP PAGE <BR>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/logout.html"> LOGOUT<BR>

</FONT> </BODY> </HTML> delCus <HTML> <HEAD> <META CONTENT="text/html;CHARSET=euc-up"> <TITLE>Result of delete customer</TITLE>

</HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<!VAR "Bag<moriiCF::Customer>" "cusbag"> <!VAR "moriiCF::Customer" "cus">

<!VAR "Integer" "i">

<!DO "i = cus.deletecus(wit_uid.convertToInteger())"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html"> <!/CATCH> <!IF "i==1"> <H2> MISSION COMPLETE!</H2><BR> <!ELSE> <!IF "i==2">

<H2> OBJECT NOT FOUND!</H2><BR> <!ELSE> <!IF "i==3"> <H2> DOMAIN ERROR!</H2><BR> <!ELSE> <!IF "i==0"> <H2>ALREADY SENT!</H2><BR> <!ELSE>

<H2>ERROR! TRY AGAIN!</H2><BR> <!/IF>

<!/IF> <!/IF> <!/IF>

(11)

<P>

<!VAR "moriiCF::Customer" "c">

<!--print the table-->

<!DO "cusbag = cus.printcus()"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH>

<!DO "cusbag = cusbag.sort(\"uid\")"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html"> <!/CATCH> <table border = 2> <tr> <th align = left>userID</th> <th align = left>mail</th> <th align = left>passwd</th> </tr> <!FOREACH cusbag c> <tr>

<td align = left><!REPLACE c.uid></td> <td align = left><!REPLACE c.mail></td> <td align = left><!REPLACE c.pass></td> </tr>

<!/FOREACH> </table>

<P>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/homepage2.html"> TO TOP PAGE <BR>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/logout.html"> LOGOUT<BR>

</FONT> </BODY> </HTML> Commodity <HTML> <HEAD> <TITLE>COMMODITY TOP</TITLE>

(12)

</HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<H1>COMMODITY LIST</H1>

<!VAR "Bag<moriiCF::Commodity>" "combag"> <!VAR "moriiCF::Commodity" "com">

<!VAR "moriiCF::Commodity" "c"> <!VAR Integer i>

<!DO "combag = com.printcom()"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH>

<!DO "combag = combag.sort(\"cid\")"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html"> <!/CATCH> <P> <table border = 2> <tr> <th align = left>comID</th> <th align = left>Name</th> <th align = left>price</th> <th align = left>quantity</th> </tr> <!DO "i=0"> <!FOREACH combag c> <tr>

<td align = left><!REPLACE c.cid></td> <td align = left><!REPLACE c.cname></td> <td align = left><!REPLACE c.price></td> <td align = left><!IF "c.quantity==0">

<FONT color="#cc0000"> <!REPLACE c.quantity></td> <!ELSE> <!REPLACE c.quantity></td> <!/IF> </tr> <!IF "i<c.cid"> <!DO "i=c.cid"> <!/IF>

(13)

<!/FOREACH> </table> </P> <!DO "i = i + 1"> <P> <H1>ADD COMMODITY</H1> Fill the forms and push 'go!'

<FORM ACTION="/cgi-bin/odb-get.exe" METHOD="POST"> <INPUT TYPE="hidden" NAME=WIT_template VALUE=addCom> <INPUT TYPE="hidden" NAME="cid" VALUE=<!REPLACE i>>

commodity name:<INPUT TYPE="text" NAME="cname" size="40"><BR> commodity price:<INPUT TYPE="text" NAME="price" size="40"><BR> commodity quantity:<INPUT TYPE="text" NAME="quantity" size="40"><BR> <INPUT TYPE="submit" VALUE="go!">

</FORM> </P>

<P>

<H1>DELETE COMMODITY</H1> Fill the forms and push 'go!'

<FORM ACTION="/cgi-bin/odb-get.exe" METHOD="POST"> <INPUT TYPE="hidden" NAME=WIT_template VALUE=delCom> commodity ID:<INPUT TYPE="text" NAME="cid" size="10"><BR> <INPUT TYPE="submit" VALUE="go!">

</FORM> </P>

<P>

<H1>ADD STOCK</H1> Fill the forms and push 'go!'

<FORM ACTION="/cgi-bin/odb-get.exe" METHOD="POST"> <INPUT TYPE="hidden" NAME=WIT_template VALUE=addStock> commodity ID:<INPUT TYPE="text" NAME="cid" size="10"><BR>

commodity quantity:<INPUT TYPE="text" NAME="quantity" size="10"><BR> <INPUT TYPE="submit" VALUE="go!">

</FORM> </P>

<P>

<H1>SUB STOCK</H1> Fill the forms and push 'go!'

<FORM ACTION="/cgi-bin/odb-get.exe" METHOD="POST"> <INPUT TYPE="hidden" NAME=WIT_template VALUE=subStock> commodity ID:<INPUT TYPE="text" NAME="cid" size="10"><BR>

(14)

<INPUT TYPE="submit" VALUE="go!"> </FORM>

</P>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/homepage2.html"> TO TOP PAGE <BR>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/logout.html"> LOGOUT<BR>

</FONT> </BODY> </HTML> addCom <HTML> <HEAD> <META CONTENT="text/html;CHARSET=euc-up"> <TITLE>Result of add commodity</TITLE>

</HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<!VAR "Bag<moriiCF::Commodity>" "combag"> <!VAR "moriiCF::Commodity" "com">

<!VAR "Integer" "i"> <!DO "i =

com.addcom(wit_cid.convertToInteger(),wit_cname,wit_price.convertToInteger(),wit_q uantity.convertToInteger())">

<!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html"> <!/CATCH> <!IF "i==1"> <H2> MISSION COMPLETE!</H2><BR> <!ELSE> <!IF "i==2">

<H2> OBJECT NOT FOUND!</H2><BR> <!ELSE> <!IF "i==3"> <H2> DOMAIN ERROR!</H2><BR> <!ELSE> <!IF "i==0"> <H2>ALREADY SENT!</H2><BR> <!ELSE>

<H2>ERROR! TRY AGAIN!</H2><BR> <!/IF>

(15)

<!/IF> <!/IF> <P>

<!VAR "moriiCF::Commodity" "c">

<!DO "combag = com.printcom()"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH>

<!DO "combag = combag.sort(\"cid\")"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html"> <!/CATCH> <table border = 2> <tr> <th align = left>comID</th> <th align = left>Name</th> <th align = left>price</th> <th align = left>quantity</th> </tr> <!FOREACH combag c> <tr>

<td align = left><!REPLACE c.cid></td> <td align = left><!REPLACE c.cname></td> <td align = left><!REPLACE c.price></td> <td align = left><!IF "c.quantity==0">

<FONT color="#cc0000"> <!REPLACE c.quantity></td> <!ELSE> <!REPLACE c.quantity></td> <!/IF> </tr> <!/FOREACH> </table> <P>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/homepage2.html"> TO TOP PAGE <BR>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/logout.html"> LOGOUT<BR>

(16)

</BODY> </HTML>

delCom

<HTML> <HEAD>

<TITLE>Resuit of delete commodity</TITLE> </HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<!VAR "Bag<moriiCF::Commodity>" "combag"> <!VAR "moriiCF::Commodity" "com">

<!VAR "Integer" "i">

<!DO "i = com.deletecom(wit_cid.convertToInteger())"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html"> <!/CATCH> <!IF "i==1"> <H2> MISSION COMPLETE!</H2><BR> <!ELSE> <!IF "i==2">

<H2> OBJECT NOT FOUND!</H2><BR> <!ELSE> <!IF "i==3"> <H2> DOMAIN ERROR!</H2><BR> <!ELSE> <!IF "i==0"> <H2>ALREADY SENT!</H2><BR> <!ELSE>

<H2>ERROR! TRY AGAIN!</H2><BR> <!/IF> <!/IF> <!/IF> <!/IF> <P> <!VAR "moriiCF::Commodity" "c">

<!DO "combag = com.printcom()"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH>

(17)

<!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html"> <!/CATCH> <table border = 2> <tr> <th align = left>comID</th> <th align = left>Name</th> <th align = left>price</th> <th align = left>quantity</th> </tr> <!FOREACH combag c> <tr>

<td align = left><!REPLACE c.cid></td> <td align = left><!REPLACE c.cname></td> <td align = left><!REPLACE c.price></td> <td align = left><!IF "c.quantity==0">

<FONT color="#cc0000"> <!REPLACE c.quantity></td> <!ELSE> <!REPLACE c.quantity></td> <!/IF> </tr> <!/FOREACH> </table> <P>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/homepage2.html"> TO TOP PAGE <BR>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/logout.html"> LOGOUT<BR>

</FONT> </BODY> </HTML> addStock <HTML> <HEAD>

<TITLE>result of add stock</TITLE> </HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<!VAR "Bag<moriiCF::Commodity>" "combag"> <!VAR "moriiCF::Commodity" "com">

(18)

<!VAR "Integer" "i"> <!DO "i =

com.addstock(wit_cid.convertToInteger(),wit_quantity.convertToInteger())">

<!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html"> <!/CATCH> <!IF "i==1"> <H2> MISSION COMPLETE!</H2><BR> <!ELSE> <!IF "i==2">

<H2> OBJECT NOT FOUND!</H2><BR> <!ELSE> <!IF "i==3"> <H2> DOMAIN ERROR!</H2><BR> <!ELSE> <!IF "i==0"> <H2>ALREADY SENT!</H2><BR> <!ELSE>

<H2>ERROR! TRY AGAIN!</H2><BR> <!/IF> <!/IF> <!/IF> <!/IF> <P> <!VAR "moriiCF::Commodity" "c">

<!DO "combag = com.printcom()"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH>

<!DO "combag = combag.sort(\"cid\")"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html"> <!/CATCH> <table border = 2> <tr> <th align = left>comID</th> <th align = left>Name</th> <th align = left>price</th>

(19)

<th align = left>quantity</th> </tr>

<!FOREACH combag c> <tr>

<td align = left><!REPLACE c.cid></td> <td align = left><!REPLACE c.cname></td> <td align = left><!REPLACE c.price></td> <td align = left><!IF "c.quantity==0">

<FONT color="#cc0000"> <!REPLACE c.quantity></td> <!ELSE> <!REPLACE c.quantity></td> <!/IF> </tr> <!/FOREACH> </table> <P>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/homepage2.html"> TO TOP PAGE <BR>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/logout.html"> LOGOUT<BR>

</FONT> </BODY> </HTML> subStock <HTML> <HEAD>

<TITLE>result of delete stock</TITLE> </HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<!VAR "Bag<moriiCF::Commodity>" "combag"> <!VAR "moriiCF::Commodity" "com">

<!VAR "Integer" "i">

<!DO "i =

com.substock(wit_cid.convertToInteger(),wit_quantity.convertToInteger())"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH>

(20)

<H2> MISSION COMPLETE!</H2><BR> <!ELSE>

<!IF "i==2">

<H2> OBJECT NOT FOUND!</H2><BR> <!ELSE> <!IF "i==3"> <H2> DOMAIN ERROR!</H2><BR> <!ELSE> <!IF "i==0"> <H2>ALREADY SENT!</H2><BR> <!ELSE>

<H2>ERROR! TRY AGAIN!</H2><BR> <!/IF> <!/IF> <!/IF> <!/IF> <P> <!VAR "moriiCF::Commodity" "c">

<!DO "combag = com.printcom()"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH>

<!DO "combag = combag.sort(\"cid\")"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html"> <!/CATCH> <table border = 2> <tr> <th align = left>comID</th> <th align = left>Name</th> <th align = left>price</th> <th align = left>quantity</th> </tr> <!FOREACH combag c> <tr>

<td align = left><!REPLACE c.cid></td> <td align = left><!REPLACE c.cname></td> <td align = left><!REPLACE c.price></td> <td align = left><!IF "c.quantity==0">

(21)

<!REPLACE c.quantity></td> <!ELSE> <!REPLACE c.quantity></td> <!/IF> </tr> <!/FOREACH> </table> <P>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/homepage2.html"> TO TOP PAGE <BR>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/logout.html"> LOGOUT<BR>

</FONT> </BODY> </HTML> Read_Order <HTML> <HEAD> <TITLE>read order</TITLE> </HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<!VAR "Bag<moriiCF::Customer>" "cusbag"> <!Var "moriiCF::Customer" "cus">

<!DO "cusbag=moriiCF::Customer from moriiCF::Customer"> <!DO "cusbag=cusbag.sort(\"uid\")">

<FORM ACTION="/cgi-bin/odb-get.exe" METHOD="POST"> <INPUT TYPE="hidden" NAME=WIT_template VALUE=Order> <P><H2>PLEASE SELECT THE USER!</H2><BR>

<SELECT NAME="uid">

<OPTION VALUE="0">ALL</OPTION> <!FOREACH cusbag cus>

<OPTION VALUE=<!REPLACE cus.uid>><!REPLACE cus.mail></OPTION> <!/FOREACH>

</SELECT></P>

<INPUT TYPE="submit" VALUE="go!"> <P>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/homepage2.html"> TO TOP PAGE <BR>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/logout.html"> LOGOUT<BR>

</FONT> </BODY>

(22)

</HTML> Order <HTML> <HEAD> <TITLE>ORDER TOP</TITLE> </HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<!VAR "Bag<moriiCF::Customer>" "cusbag"> <!VAR "Bag<moriiCF::Commodity>" "combag"> <!VAR "Bag<moriiCF::Order>" "ordbag">

<!VAR "moriiCF::Customer" "cus"> <!VAR "moriiCF::Commodity" "com"> <!VAR "moriiCF::Order" "ord">

<!VAR "moriiCF::Order" "o"> <!VAR Integer i>

<!DO "cusbag = moriiCF::Customer from moriiCF::Customer"> <!DO "cusbag = cusbag.sort(\"uid\")">

<!DO "combag = moriiCF::Commodity from moriiCF::Commodity"> <!DO "combag = combag.sort(\"cid\")">

<H1>ORDER LIST</H1>

<!DO "ordbag = ord.printorder(wit_uid.convertToInteger())"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH>

<!FOREACH ordbag ord> <!DO "ord.cleanorder()"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH> <!/FOREACH>

<!DO "ordbag = ordbag.sort(\"onum\")"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH>

<P>

(23)

<tr>

<th align = left>orderNo</th> <th align = left>userID</th>

<th align = left>commodityID</th> <th align = left>number</th> <th align = left>order date</th> <th align = left>del date</th> <th align = left>send?</th> </tr>

<!DO "i=0">

<!FOREACH ordbag o> <tr>

<td align = left><!REPLACE o.onum></td> <td align = left><!REPLACE o.uid></td> <td align = left><!REPLACE o.cid></td> <td align = left><!REPLACE o.num></td> <td align = left><!REPLACE o.odate></td> <td align = left><!REPLACE o.deldate></td> <td align = left><!REPLACE o.send></td> </tr> <!IF "i<o.onum"> <!DO "i=o.onum"> <!/IF> <!/FOREACH> </table> </P> <!DO "i = i + 1"> <P> <H1>ADD ORDER</H1>

Fill the forms and push 'go!' <BR>

<FORM ACTION="/cgi-bin/odb-get.exe" METHOD="POST"> <INPUT TYPE="hidden" NAME=WIT_template VALUE=addOrder> <INPUT TYPE="hidden" NAME="onum" VALUE=<!REPLACE i>> <!IF "wit_uid.convertToInteger()==0">

user <BR>

<SELECT NAME="uid"> <!FOREACH cusbag cus>

<OPTION VALUE=<!REPLACE cus.uid>><!REPLACE cus.mail></OPTION> <!/FOREACH>

</SELECT> <!ELSE>

<INPUT TYPE="hidden" NAME="uid" VALUE=<!REPLACE wit_uid>> <!/IF><BR>

(24)

commodity<BR>

<SELECT NAME="cid"> <!FOREACH combag com> <!IF "com.quantity>0">

<OPTION VALUE=<!REPLACE com.cid>><!REPLACE com.cname></OPTION>

<!/IF>

<!/FOREACH> </SELECT><BR>

number:<INPUT TYPE="text" NAME="num" size="10"><BR>

<INPUT TYPE="hidden" NAME="printID" VALUE=<!REPLACE wit_uid>> <INPUT TYPE="submit" VALUE="go!">

</FORM> </P>

<P>

<H1>DELETE ORDER</H1> Fill the forms and push 'go!'

<FORM ACTION="/cgi-bin/odb-get.exe" METHOD="POST"> <INPUT TYPE="hidden" NAME=WIT_template VALUE=delOrder> order number:<INPUT TYPE="text" NAME="onum" size="10"><BR>

<INPUT TYPE="hidden" NAME="printID" VALUE=<!REPLACE wit_uid>> <INPUT TYPE="submit" VALUE="go!">

</FORM> </P>

<P>

<H1>SEND ORDER</H1> Fill the forms and push 'go!'

<FORM ACTION="/cgi-bin/odb-get.exe" METHOD="POST">

<INPUT TYPE="hidden" NAME=WIT_template VALUE=sendOrder> order number:<INPUT TYPE="text" NAME="onum" size="10"><BR>

<INPUT TYPE="hidden" NAME="printID" VALUE=<!REPLACE wit_uid>> <INPUT TYPE="submit" VALUE="go!">

</FORM> </P>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/homepage2.html"> TO TOP PAGE <BR>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/logout.html"> LOGOUT<BR>

</FONT> </BODY> </HTML>

addOrder

(25)

<HEAD>

<TITLE>Result of add order</TITLE> </HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<!VAR "moriiCF::Order" "ord"> <!VAR "Integer" "i"> <!DO "i =

ord.addorder(wit_onum.convertToInteger(),wit_uid.convertToInteger(),wit_cid.convert ToInteger(),wit_num.convertToInteger())">

<!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html"> <!/CATCH> <!IF "i==1"> <H2> MISSION COMPLETE!</H2><BR> <!ELSE> <!IF "i==2">

<H2> OBJECT NOT FOUND!</H2><BR> <!ELSE> <!IF "i==3"> <H2> DOMAIN ERROR!</H2><BR> <!ELSE> <!IF "i==0"> <H2>ALREADY SENT!</H2><BR> <!ELSE>

<H2>ERROR! TRY AGAIN!</H2><BR> <!/IF>

<!/IF> <!/IF> <!/IF>

<!--print the table-->

<!DO "ordbag = ord.printorder(wit_printID.convertToInteger())"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH>

<!DO "ordbag = ordbag.sort(\"onum\")"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

(26)

<P> <table border = 2> <tr> <th align = left>orderNo</th> <th align = left>userID</th> <th align = left>commodityID</th> <th align = left>number</th> <th align = left>date</th> <th align = left>del date</th> <th align = left>send?</th> </tr>

<!DO "i=1">

<!FOREACH ordbag o> <tr>

<td align = left><!REPLACE o.onum></td> <td align = left><!REPLACE o.uid></td> <td align = left><!REPLACE o.cid></td> <td align = left><!REPLACE o.num></td> <td align = left><!REPLACE o.odate></td> <td align = left><!REPLACE o.deldate></td> <td align = left><!REPLACE o.send></td> </tr>

<!/FOREACH> </table>

</P>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/homepage2.html"> TO TOP PAGE <BR>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/logout.html"> LOGOUT<BR>

</FONT> </BODY> </HTML> delOrder <HTML> <HEAD>

<TITLE>Result of delete order</TITLE> </HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<!VAR "Bag<moriiCF::Order>" "ordbag"> <!VAR "moriiCF::Order" "ord">

<!VAR "Integer" "i">

<!DO "i = ord.deleteorder(wit_onum.convertToInteger())"> <!CATCH "JAS_default">

(27)

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html"> <!/CATCH> <!IF "i==1"> <H2> MISSION COMPLETE!</H2><BR> <!ELSE> <!IF "i==2">

<H2> OBJECT NOT FOUND!</H2><BR> <!ELSE> <!IF "i==3"> <H2> DOMAIN ERROR!</H2><BR> <!ELSE> <!IF "i==0"> <H2>ALREADY SENT!</H2><BR> <!ELSE>

<H2>ERROR! TRY AGAIN!</H2><BR> <!/IF>

<!/IF> <!/IF> <!/IF>

<!--print the table-->

<!DO "ordbag = ord.printorder(wit_printID.convertToInteger())"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH>

<!DO "ordbag = ordbag.sort(\"onum\")">

<!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html"> <!/CATCH> <P> <table border = 2> <tr> <th align = left>orderNo</th> <th align = left>userID</th> <th align = left>commodityID</th> <th align = left>number</th> <th align = left>date</th> <th align = left>del date</th> <th align = left>send?</th>

(28)

</tr>

<!DO "i=1">

<!FOREACH ordbag o> <tr>

<td align = left><!REPLACE o.onum></td> <td align = left><!REPLACE o.uid></td> <td align = left><!REPLACE o.cid></td> <td align = left><!REPLACE o.num></td> <td align = left><!REPLACE o.odate></td> <td align = left><!REPLACE o.deldate></td> <td align = left><!REPLACE o.send></td> </tr>

<!/FOREACH> </table>

</P>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/homepage2.html"> TO TOP PAGE <BR>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/logout.html"> LOGOUT<BR>

</FONT> </BODY> </HTML> sendOrder <HTML> <HEAD>

<TITLE>Resuit of send order</TITLE> </HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<!VAR "Bag<moriiCF::Order>" "ordbag"> <!VAR "moriiCF::Order" "ord">

<!VAR "Integer" "i">

<!DO "i = ord.sendorder(wit_onum.convertToInteger())">

<!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH>

<!IF "i==1">

<H2> MISSION COMPLETE!</H2><BR> <!ELSE>

(29)

<!IF "i==2">

<H2> OBJECT NOT FOUND!</H2><BR> <!ELSE> <!IF "i==3"> <H2> DOMAIN ERROR!</H2><BR> <!ELSE> <!IF "i==0"> <H2>ALREADY SENT!</H2><BR> <!ELSE>

<H2>ERROR! TRY AGAIN!</H2><BR> <!/IF>

<!/IF> <!/IF> <!/IF>

<!--print the table-->

<!DO "ordbag = ord.printorder(wit_printID.convertToInteger())"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html">

<!/CATCH>

<!DO "ordbag = ordbag.sort(\"onum\")"> <!CATCH "JAS_default">

<!ABORT SESSION=LOGOUT URL="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/error.html"> <!/CATCH> <P> <table border = 2> <tr> <th align = left>orderNo</th> <th align = left>userID</th> <th align = left>commodityID</th> <th align = left>number</th> <th align = left>date</th> <th align = left>del date</th> <th align = left>send?</th> </tr>

<!DO "i=1">

<!FOREACH ordbag o> <tr>

<td align = left><!REPLACE o.onum></td> <td align = left><!REPLACE o.uid></td> <td align = left><!REPLACE o.cid></td> <td align = left><!REPLACE o.num></td>

(30)

<td align = left><!REPLACE o.odate></td> <td align = left><!REPLACE o.deldate></td> <td align = left><!REPLACE o.send></td> </tr>

<!/FOREACH> </table>

</P>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/homepage2.html"> TO TOP PAGE <BR>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/logout.html"> LOGOUT<BR>

</FONT> </BODY> </HTML> error.html <HTML> <HEAD> <TITLE>database error</TITLE> </HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<H2>DATABASE ERROR! </H2><BR> <A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/index.html">TRY AGAIN!<BR> </FONT> </BODY> </HTML> logout.html <HTML> <HEAD> <TITLE>logout</TITLE> </HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<CENTER>

<h1>DO YOU WANT TO LOGOUT?</h1>

<A HREF="/cgi-bin/odb-logout.exe?WIT_urlpath=http://jasmine.db.is.kyushu-u.ac.jp/tanaka/logout_message.html">YES<BR>

<A HREF="http://jasmine.db.is.kyushu-u.ac.jp/tanaka/homepage2.html">NO BACK TO TOP PAGE<BR>

(31)

</FONT> </BODY> </HTML> logout_message.html <HTML> <HEAD> <TITLE>logout</TITLE> </HEAD>

<BODY BgColor="#6699FF" Link="#0070ff" Vlink="#4682B4" Alink="#88c4ff"> <FONT size="4" color="#0000ff">

<CENTER> <h1>THANK YOU!!</h1> </CENTER> </FONT> </BODY> </HTML>

参照

関連したドキュメント

jGrants上にご登録されている内容から自動反

Desk Navigator グ ループ 通常業務の設定」で記載されているRidoc Desk Navigator V4への登録 方法に加えて新製品「RICOH Desk

ユーザ情報を 入力してくだ さい。必要に 応じて複数(2 つ目)のメー ルアドレスが 登録できます。.

※ログイン後最初に表示 される申込メニュー画面 の「ユーザ情報変更」ボタ ンより事前にメールアド レスをご登録いただきま

つの表が報告されているが︑その表題を示すと次のとおりである︒ 森秀雄 ︵北海道大学 ・当時︶によって発表されている ︒そこでは ︑五

「系統情報の公開」に関する留意事項

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

パキロビッドパックを処方入力の上、 F8特殊指示 →「(治)」 の列に 「1:する」 を入力して F9更新 を押下してください。.. 備考欄に「治」と登録されます。