演習 5: 追加クエリーの作成

この演習では、「Trip List」ページを改良して、Compass Travel のエージェントが旅行を探しやすくします。次のように改良します。

既存のクエリーを編集することができますが、今後そのクエリーが必要になる場合があります。編集する代わりに、前述の必要条件を満たすクエリーを含むメソッドを "gettrips.cfc" コンポーネントに追加することができます。そして "triplisting.cfm" ページから、改良されたクエリーを含んだ新しいメソッドを呼び出すことができます。各手順に従った後、ブラウザで "triplisting.cfm" ページを表示して、対応する必要条件を満たしていることを確認します。

アプリケーションを変更するには、次の手順を実行する必要があります。

クエリーの作成

構造化された再利用可能なコードの記述を続行するには、既存の CFC のメソッドにクエリーを作成します。

クエリー結果を向上させるメソッドを作成するには :

  1. "gettrips.cfc" ファイルを開きます。
  2. cfcomponent の終了タグの直前に次のコードを入力するか、Dreamweaver による実行で示した手順を実行します。
    <cffunction name="getBudgetTrips" displayName="Budget trip list" 
    	hint="List trips under $1500 alphabetically" 
    	access="public" 
    	returnType="query"
    	output="false">
    	<cfquery name="budgetTrips" datasource="CompassTravel">
    		SELECT tripName, departureDate, returnDate, price
    		FROM trips 
    		WHERE price <= 1500
    		ORDER BY tripName
    	</cfquery>
    	<cfreturn budgetTrips>
    	</cffunction>
    
  3. ファイルを保存します。

Dreamweaver による実行

Dreamweaver 拡張機能を使って、CFC クエリーを作成し、"triplisting.cfm" ページからクエリーを含むメソッドを呼び出すことができます。

改良された CFC クエリーを Dreamweaver で作成するには :

  1. "gettrips.cfc" ファイルを開き、cfcomponent の終了タグの前にポインタを置きます。
  2. [バインディング] タブをクリックします。
  3. [+] ボタンをクリックします。
  4. [レコードセット (クエリー)] を選択します。
  5. [Name] テキストボックスに「budgetTrips」と入力します。
  6. [New Function] ボタンをクリックします。
  7. [New function name] テキストボックスに、「getBudgetTrips」と入力します。
  8. [OK] をクリックします。
  9. [Data Source] リストで [CompassTravel] を選択します。
  10. [Table] リストから [trips] を選択します。
  11. [Selected] ボタンをクリックします。
  12. 列のリストから、[tripName]、[departureDate]、[returnDate]、および [price] を選択します。
  13. [Filter] セクションから [price]、演算子リストから [<=] を選択した後、[Function Argument] を選択し、テキストボックスに「1500」と入力します。
  14. [Sort] セクションで、[tripName] を選択し、[Ascending] を選択します。
  15. [OK] をクリックします。
  16. ファイルを保存します。

新規メソッドの呼び出し

新規クエリーを使用するには、クエリーを含むメソッドを呼び出します。

改良されたクエリーを含む新規メソッドを呼び出すには :

  1. "triplisting.cfm" ファイルを開きます。
  2. 次のようにコードを編集するか、Dreamweaver による実行で説明されている手順を実行します。
    <cfinvoke
     component="cfdocs.getting_started.my_app.components.gettrips"
     method="getBudgetTrips"
     returnvariable="budgetTrips">
    </cfinvoke>
    
  3. ファイルを保存します。

Dreamweaver による実行

Dreamweaver 拡張機能を使って、CFC クエリーを作成し、"triplisting.cfm" ページからクエリーを含むメソッドを呼び出すことができます。

改良された CFC クエリーを Dreamweaver で呼び出すには :

  1. cfinvoke コードブロックを削除します。
  2. [コンポーネント] タブをクリックします。
  3. cfdocs.getting_started.my_app.components の隣に表示される [+] ボタンをクリックした後、gettrips の隣に表示される [+] ボタンをクリックします。
  4. クエリー getBudgetTrips を選択し、ファイルの一番上にドラッグします。
  5. 次のとおり、returnvariable の値がクエリー名 budgetTrips となるよう変更します。
    returnvariable="budgetTrips"
    
  6. ファイルを保存します。

結果の表示

新規クエリーの結果を表示するには、cfoutput ブロックにある新規クエリーを参照して、表示するすべての列を含めます。

改良されたクエリーの結果を表示するには :

  1. 次に示すとおり、改良されたクエリーを使って、3 つの選択済みフィールドすべてを出力するよう、"triplisting.cfm" ファイルの出力ブロックを変更します。
    <cfoutput query="budgetTrips">
    	#tripName# 
    	departs:#departureDate# 
    	returns:#returnDate# 
    	price:#price#<BR>
    </cfoutput>
    
  2. "triplisting.cfm" ファイルの見出しタグを、<h1>Trip List</h1> から <h1>Budget Trip List</h1> に変更します。
  3. "triplisting.cfm" ファイルと "gettrips.cfc" ファイルの両方を保存します。
  4. ブラウザで "triplisting.cfm" ページを表示して、すべての新規必要条件を満たしていることを確認します。変更後の "TripListing.cfm" ページは次のようになります。


    この図は、変更後フォーマットしていない「低価格旅行リスト」ページを示しています。

    上のリストでは日付と旅行代金の形式は設定されていません。レッスン 6: アプリケーションのメインページの作成でこのページの表示を改良します。


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

バージョン7

 

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

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