Symfoware Server WebDBtoolsユーザーズガイド - FUJITSU -
目次 索引 前ページ次ページ

第3章 データベース連携> 3.6 拡張タグの使用例

3.6.8 データ更新:データ削除

■処理の内容

データベースに登録されているデータを削除します。

■サンプルプログラム

delete.html
・・・
<!DO "SELECT 製品名 FROM WL_SCHEMA.製品表" RESULT=rslt>   (1)
<!FOREACH rslt t>
    <!SETVAR uname 'URLencode(t{製品名})'>
    <A HREF="$SYSTEM::FMTR?WIT_html=delete_fmt1.html&Name=$uname">
    <!HREPLACE 't{製品名}'></A><BR>
<!/FOREACH>                                             (2)
・・・

(1) 削除データを選択するためのデータベースの全件検索
削除したいデータを選択するために、データベースを全件検索します。
(2) 検索結果の表示および削除データの選択
検索した結果の製品名を表示します。製品名はすべてURLに変換され、“uname”に格納されます。削除対象の製品名を選択すると“uname”を“Name”に代入しdelete_fmt1.html に引き継ぎます。

delete_fmt1.html
・・・
<!DO "SELECT 製品名,カテゴリ,機能,型番,数量,価格,説明
          FROM WL_SCHEMA.製品表 WHERE 製品名 LIKE '$QUERY::Name'" RESULT=rslt>  (3)
<FORM ACTION="$SYSTEM::FMTR" METHOD="POST">
<TABLE BORDER=0>
    <TR>
        <TD>製品名</TD><TD>:</TD>
        <TD><!HREPLACE 'rslt[0]{製品名}'></TD>
    </TR>
    <TR>
        <TD>カテゴリ</TD><TD>:</TD>
        <TD><!HREPLACE 'rslt[0]{カテゴリ}'></TD>
    </TR>
    <TR>
        <TD>機能</TD><TD>:</TD>
        <TD><!HREPLACE 'rslt[0]{機能}'></TD>
    </TR>
    <TR>
        <TD>型番</TD><TD>:</TD>
        <TD><!HREPLACE 'rslt[0]{型番}'></TD>
    </TR>
    <TR>
        <TD>数量</TD><TD>:</TD>
        <TD><!HREPLACE 'rslt[0]{数量}'></TD>
    </TR>
    <TR>
        <TD>価格</TD><TD>:</TD>
        <TD><!HREPLACE 'rslt[0]{価格}'> 円</TD>
    </TR>
    <TR>
        <TD>説明</TD><TD>:</TD>
        <TD><!HREPLACE 'rslt[0]{説明}'></TD>
    </TR>
</TABLE>
<INPUT TYPE="HIDDEN" NAME="WIT_html" VALUE="delete_fmt2.html">
<INPUT TYPE="HIDDEN" NAME="Name" VALUE="$QUERY::Name">
<INPUT TYPE="SUBMIT" VALUE="削除">
</FORM>                                                                          (4)
・・・

(3) 削除対象のデータの検索
delete.html から引き継いだ“Name”を基に、削除対象のデータをデータベースから検索します。
(4) 削除データの確認
表示されたデータを確認し、[削除]ボタンをクリックします。[削除]ボタンをクリックすることで、処理と“Name”をdelete_fmt2.html に引き継ぎます。

delete_fmt2.html
・・・
<!DO "DELETE FROM WL_SCHEMA.製品表 WHERE 製品名 LIKE '$QUERY::Name'">          (5)
<!DO "SELECT 製品名,カテゴリ,機能,型番,数量,価格,説明
          FROM WL_SCHEMA.製品表" RESULT=rslt>                              (6)
<TABLE BORDER=1>
    <TR>
        <TD>製品名</TD>
        <TD>カテゴリ</TD>
        <TD>機能</TD>
        <TD>型番</TD>
        <TD>数量</TD>
        <TD>価格</TD>
        <TD>説明</TD>
    </TR>
    <!FOREACH rslt t>
        <TR>
            <TD><!HREPLACE 't{製品名}'></TD>
            <TD><!HREPLACE 't{カテゴリ}'></TD>
            <TD><!HREPLACE 't{機能}'></TD>
            <TD><!HREPLACE 't{型番}'></TD>
            <TD><!HREPLACE 't{数量}'></TD>
            <TD><!HREPLACE 't{価格}'></TD>
            <TD><!HREPLACE 't{説明}'></TD>
        </TR>
    <!/FOREACH>
</TABLE>                                                          (7)
・・・

(5) データの削除
delete_fmt1.htmlから引き継いだ“Name”を基にデータベース検索し、対象データを削除します。
(6) 削除後のデータベースの全件検索
削除したデータが削除されているかを確認するために、データベースの内容を全件検索します。
(7) 検索結果の表示
データベースを全件検索した結果を、すべて表示します。

■解説

delete.html でデータベースの内容をすべて表示し、削除するデータを選択します。選択したデータの一部をキーとして、delete_fmt1.html に引き継ぎます。
delete_fmt1.html では、dalete.html から引き継いだキーを基にデータベースを検索し、内容を表示して削除データを確認します。確認されたデータを削除するために、delete_fmt2.html へキーと処理を引き継ぎます。
delete_fmt2.html では、delete_fmt1.html から引き継いだキーを基に対象となるデータを削除し、確認のためにデータベースの情報をすべて表示します。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2007