レッスン 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 キーを使用する必要があります。tripID は RecordID フィールドに含まれています。「Trip Detail」ページの非表示 RecordID input タグを使用する場合、Trips テーブルから行を削除する SQL ステートメントは次のようになります。
DELETE FROM trips WHERE tripID = #Form.RecordID#
<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>
現在の旅行はネパールです。「Nepal Summit Challenge」旅行の目的地は「Imji、Himal、Nepal」です。
「Trip Search」ページが表示されます。
レコードは表示されません。これは、該当する旅行を削除したためです。
ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX* | ColdFusion 5* | フォーラム* | デベロッパーセンター | サポート情報 | バグ報告
バージョン7
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/coldfusion/7_jp/htmldocs/db_main2.htm