既存の SQL 行を更新するために、ColdFusion では cfupdate タグを使用する簡単な方法を提供しています。cfinsert タグと同様、cfupdate タグには、データの挿入位置を指定する datasource 属性と tablename 属性があります。また、このタグには、挿入するフィールドを指定する formfields 属性もあります。formfields 属性により、挿入するフォームフィールドをカンマで区切ったリストが指定されます。この属性を指定しない場合は、フォーム内のすべてのフィールドがオペレーションの対象となります。
"tripedit.cfm" ページのすべてフィールドには、対応する Trips テーブルの列があるため、cfinsert と cfupdate の両方のタグで formFields 属性を省略できます。tripIDフォームフィールドが Trip Edit ページから渡された場合、cfupdate タグが使われます。それ以外の場合は、cfinsert タグが実行されます。次の例では、formfields 属性のない、cfupdate と cfinsert タグが使われています。
<cfif not isdefined("form.tripID")>
<cfinsert datasource="CompassTravel" tablename="Trips">
<cflocation url="tripdetail.cfm">
<cfelse>
<cfupdate datasource="CompassTravel" tablename="Trips">
<cflocation url="tripdetail.cfm?ID=#Form.tripID#">
</cfif>
次の表で、cfinsert と cfupdate コードについて説明します。
| コード | 説明 |
|---|---|
<cfif not isdefined("form.tripID")>
<cfinsert datasource="CompassTravel"
tablename="Trips">
<cflocation url="tripdetail.cfm">
<cfelse>
<cfupdate datasource="CompassTravel"
tablename="Trips">
<cflocation url="tripdetail.cfm?ID=#Form.tripID#">
</cfif>
|
|
</body> タグの前に次のコードを追加します。
<!--- データベースを更新します。 --->
<cfif isOk EQ "Yes">
<cfif isdefined("form.tripID")>
<cfupdate datasource="CompassTravel" tablename="trips">
<cflocation url="tripdetail.cfm?ID=#Form.tripID#">
<cfelse>
<cfinsert datasource="CompassTravel" tablename="TRIPS">
<cflocation url="tripdetail.cfm">
</cfif>
<cfoutput>You have added #Form.TripName# to the trips database.
</cfoutput>
</cfif>
cfupdate タグを使用してデータベースにデータを追加する方法については、『ColdFusion MX 開発ガイド』を参照してください。
ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX* | ColdFusion 5* | フォーラム* | デベロッパーセンター | サポート情報 | バグ報告
バージョン7
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/coldfusion/7_jp/htmldocs/db_main5.htm