演習 1: 「Trip Detail」ページに現在表示されている旅行レコードの削除

レッスン 8: ブラウズ機能と検索機能の実装では、旅行編集データ入力フォームに対してサーバーサイド編集機能を含む "tripeditaction.cfm" というページを作成しました。このレッスンでは、この "tripeditaction.cfm" ページを完成させます。

旅行を削除するコードを作成するには、Trips テーブルから行を削除する基本的な SQL ステートメントを理解する必要があります。

SQL DELETE ステートメントは、リレーショナルテーブルに存在する行を削除します。DELETE ステートメントの形式は次のとおりです。

DELETE FROM table_name WHERE column_name = some_value

たとえば、Client という名前のデータベーステーブルには、次の行で示した人物に関する情報が含まれています。

LastName FirstName Address City

Jones

Tom

50 Main St

New York

Adamson

Anita

521 Beacon St

Boston

Green

Peter

1 Broadway

New York

テーブルから住所が New York である人物をすべて削除するには、次のステートメントを使用します。

DELETE FROM Clients WHERE City = 'New York'

データベース管理システムによってこのコードが処理されると、テーブルには次の行のみが含まれます。

LastName FirstName Address City

Adamson

Anita

521 Beacon St

Boston

旅行メンテナンスアプリケーションで該当する旅行のみを確実に削除するには、SQL DELETE ステートメントを発行する際に、固有の tripID キーを使用する必要があります。tripIDRecordID フィールドに含まれています。「Trip Detail」ページの非表示 RecordID input タグを使用する場合、Trips テーブルから行を削除する SQL ステートメントは次のようになります。

DELETE FROM trips WHERE tripID = #Form.RecordID#

ユーザーが旅行を削除できるようにするには :

  1. my_app ディレクトリにある "maintenanceaction.cfm" ファイルをエディタで開きます。
  2. 強調表示されたコードをファイルに追加します。
    <cfif IsDefined("Form.btnSearch")>
    	<!--- ユーザーが [Search] をクリックした場合に実行するコード。 --->
    	<cflocation url="tripsearchform.cfm">
    <cfelseif IsDefined("Form.btnDelete")>
    	<!--- ユーザーが [Delete] をクリックした場合に実行するコード。 --->
    	<cfquery name="DeleteRecord" datasource="CompassTravel">
    		DELETE FROM trips WHERE tripID = #Form.RecordID#
    	</cfquery>
    <cflocation url="tripdetail.cfm">
    <cfelseif IsDefined("Form.btnEdit")>
    	<!--- ユーザーが [Edit] をクリックした場合に実行するコード。 --->
    <cfelseif IsDefined("Form.btnEdit")>
    	<!--- ユーザーが [Add] をクリックした場合に実行するコード。--->
    </cfif>
    
  3. このページを保存します。

削除機能をテストするには :

  1. ブラウザで "tripdetail.cfm" ページを表示します。

    現在の旅行はネパールです。「Nepal Summit Challenge」旅行の目的地は「Imji、Himal、Nepal」です。

  2. [Search] をクリックします。

    「Trip Search」ページが表示されます。

  3. 「Trip Search」ページで、[Trip Location] 選択ボックスの [Begins With] を選択します。
  4. [Trip Location] フィールドに「Imji」と入力します。
  5. [Search] をクリックします。
  6. 旅行先が「Imji」で始まる旅行は 1 つだけ検索されます。
  7. この旅行の「Trip Detail」ページに戻るには、「Nepal Summit Challenge」をクリックします。
  8. 「Trip Detail」ページの [Delete] をクリックします。
  9. [Search] をクリックします。
  10. [Trip Location] 選択ボックスの [Begins With] を選択します。
  11. [Trip Location] フィールドに「Imji」と入力します。
  12. [Search] をクリックします。

    レコードは表示されません。これは、該当する旅行を削除したためです。


ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX* | ColdFusion 5* | フォーラム* | デベロッパーセンター | サポート情報 | バグ報告

バージョン7

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/coldfusion/7_jp/htmldocs/db_main2.htm