演習 3: cfinsert タグによるデータの追加

情報を SQL データベースに追加するのに、SQL のシンタックスを覚えなくてもよい方法を希望する開発者のために、ColdFusion には、cfinsert を使用して SQL 行の挿入コードを簡単に記述する方法が用意されています。ご存知のとおりに、cfinsert タグには、データの挿入位置を指定する datasource 属性と tablename 属性があります。またこのタグには、挿入するフィールドを指定する formfields 属性もあります。formfields 属性は、挿入するフォームフィールドをカンマで区切ったリストです。この属性を指定しない場合は、フォーム内のすべてのフィールドがオペレーションの対象となります。次の例では、これらの属性と cfinsert を併用します。

<cfinsert datasource="CompassTravel" tablename="Trips"
   formfields="tripName, eventType, tripDescription, tripLocation,
   departureDate, returnDate, price, tripLeader, photo, baseCost, 
   numberPeople, depositRequired">

前のコードの抜粋で使われていた cfinsert タグでは、次の属性が使われています。

属性 説明

datasource

データが挿入されるデータベースに関連付けられたデータソース名

tablename

データが挿入されるデータベース内にある SQL テーブル名

formfields

挿入するフォームフィールドをカンマで区切ったリスト

cfinsert を使用してデータを挿入するには :

  1. エディタで my_app ディレクトリの "tripeditaction.cfm" を開きます。
  2. 演習 2: SQL INSERT ステートメントによる旅行の追加」で追加した AddTrip cfquery コードブロック全体を削除します。
    	<cfquery name="AddTrip" datasource="compasstravel">
    		INSERT INTO Trips (tripName, eventType, tripDescription, 
    			tripLocation,departureDate, returnDate, price, tripLeader,
    			photo, baseCost, numberPeople, depositRequired)
    		VALUES ('#Form.tripName#', #Form.eventType#,
    			'#Form.tripDescription#',
    			'#Form.tripLocation#','#Form.departureDate#',
    			'#Form.returnDate#',
    			#Form.price#, '#Form.tripLeader#', '#Form.photo#',
    			#Form.baseCost#, #Form.numberPeople#, '#Form.depositRequired#')
    	</cfquery>
    
  3. Trips テーブルにデータを挿入するために、次の cfinsert タグを先ほどコードを削除した場所に追加します。
    <cfinsert datasource="CompassTravel" tablename="trips"> 
    
  4. ファイルを保存します。

編集されたコードをテストするには :

  1. ブラウザで "tripedit.cfm" ページを開きます。
  2. "tripedit.cfm" ページのフィールドに下の表の値を入力し、[Save] をクリックします。
    フィールド

    Trip Name

    NH White Mountains

    Event Type

    Mountain Climbing

    Trip Description

    Climb the 5 highest peaks in the New Hampshire White Mountains.

    Trip Location

    Northeastern New Hampshire

    Departs

    05/01/2005

    Returns

    05/10/2005

    Number of People

    15

    Price

    1200

    Base Cost

    600

    Deposit Required

    Yes

    Trip Leader

    Tom Finn

    Photo File Name

    whitemountains.jpg

    新規の旅行がデータベースに保存されると、「You have added NH White Mountains to the trips database.」というメッセージが表示されます。

  3. 旅行が保存されていることを確認するために、my_app ディレクトリにある "tripsearchform.cfm" をブラウザで表示します。
  4. 「Trip Search」ページの [Trip Location] ドロップダウンリストで [Begins With] オプションを選択し、テキストボックスに「ニュー」という値を入力します。
  5. [Search] をクリックします。

    TripResults ページが表示されます。

  6. [NH White Mountains] をクリックして、先ほど追加した旅行の詳細を表示します。すべてのフィールドが正しく保存されていることを確認します。

cfinsert タグを使用してデータベースにデータを追加する方法については、『ColdFusion MX 開発ガイド』を参照してください。


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

バージョン7

 

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

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