CFINSERT  
説明

ColdFusion フォームまたは Form スコープ内のデータからデータソースにレコードを挿入します。

 
カテゴリ

データベース操作タグ

 
シンタックス
<cfinsert
   dataSource = "ds_name"
   tableName = "tbl_name"
   tableOwner = "owner"
   tableQualifier = "tbl_qualifier"
   username = "username"
   password = "password"
   formFields = "formfield1, formfield2, ...">
 
関連項目

cfprocparam、cfprocresult、cfquery、cfqueryparam、cfstoredproc、cftransaction、cfupdate

 
ヒストリ

ColdFusion MX: connectString、dbName、dbServer、dbtype、provider、および providerDSN 属性は使用禁止になりました。ColdFusion 5 以降のリリースでは、これらは機能せず、エラーを引き起こす可能性があります。

 
<!--- この例は、cfquery の代わりに cfinsert を使用してデータソースにデータを挿入する方法を示してい
ます。 --->
<!--- form.POSTED が存在する場合、新規レコードを挿入するために cfinsert タグを開始します。 --->
<cfif IsDefined ("form.posted")>
   <cfinsert dataSource = "cfdocexamples"
      tableName = "Comments"
      formFields = "Email,FromUser,Subject,MessText,Posted">
   <h3><i>レコードがデータベースに追加されました。</i></h3>
</cfif>

<cfif IsDefined ("form.posted")> 
   <cfif Server.OS.Name IS "Windows NT"> 
      <cfinsert datasource="cfdocexamples" tablename="Comments"
         formfields="EMail,FromUser,Subject,MessText,Posted"> 
   <cfelse> 
      <cfinsert datasource="cfdocexamples" tablename="Comments"
         formfields="CommentID,EMail,FromUser,Subject,MessText,Posted"> 
   </cfif> 
   <h3><i>レコードがデータベースに追加されました。</i></h3> </cfif>

<!--- クエリーを使用して、データベースの現在のステートを表示します。 --->
<cfquery name = "GetComments" dataSource = "cfdocexamples">
   SELECT
      CommentID, EMail, FromUser, Subject, CommtType, MessText, Posted, Processed
   FROM
      Comments
</cfquery>

<html>
<head></head>
<h3>cfinsert の例</h3>
<p>まず、cfdocexamples データソース内にあるコメントのリストを表示します。
<!--- データベース内のすべてのコメントを表示 --->
<table>
   <tr>
      <td>送信ユーザー</td><td>題名</td><td>コメントタイプ</td>
      <td>メッセージ</td><td>送信日</td>
   </tr>
   <cfoutput query = "GetComments">
      <tr>
         <td valign = top><a href = "mailto:#Email#">#FromUser#</A></td>
         <td valign = top>#Subject#</td>
         <td valign = top>#CommtType#</td>
         <td valign = top><font size = "-2">#Left(MessText, 125)#</font></td>
         <td valign = top>#Posted#</td>
      </tr>
   </cfoutput>
</table>
<p>次に、コメントを入力する機会を提供します。
<!--- 入力のためのフォームを作成 --->
<form action = "cfinsert.cfm" method = "post">
   <pre>
   電子メール :     <input type = "Text" name = "email">
   送信元 :    <input type = "Text" name = "fromUser">
   題名 : <input type = "Text" name = "subject">
   メッセージ : <textarea name = "MessText" COLS = "40" ROWS = "6"></textarea>
   送信日 :    <cfoutput>#DateFormat(Now())#</cfoutput>
   <!--- 今日の日付をダイナミックに判断 --->
   <input type = "hidden"
      name = "posted" value = "<cfoutput>#Now()#</cfoutput>">
   </pre>
   <input type = "Submit"
      name = "" value = "コメントを挿入">
</form>
DATASOURCE  
  必須
 

テーブルが含まれているデータソースです。

TABLENAME  
  必須
 

フォームフィールドを挿入するテーブルです。

ORACLE ドライバの場合 : 大文字で指定する必要があります。

Sybase ドライバの場合 : 大文字と小文字が区別されます。テーブルの作成時に使用した名前と大文字小文字を同じにする必要があります。

TABLEOWNER  
  オプション
 

テーブル所有権をサポートしているデータソース (SQL Server、Oracle、Sybase SQL Anywhere など) の場合は、このフィールドを使用してテーブルの所有者を指定します。

TABLEQUALIFIER  
  オプション
 

テーブル修飾子をサポートしているデータソースの場合は、このフィールドを使用してテーブルの修飾子を指定します。テーブル修飾子の内容は、ドライバによって異なります。SQL Server および Oracle の場合、修飾子は、テーブルが含まれているデータベースの名前を表します。Intersolv dBASE ドライバの場合、修飾子は DBF ファイルが置かれているディレクトリを表します。

USERNAME  
  オプション
 

ODBC セットアップ内で指定されているユーザー名よりも優先されます。

PASSWORD  
  オプション
 

ODBC セットアップ内で指定されているパスワードよりも優先されます。

FORMFIELDS  
  オプション
 
Default value: "(キーを除くフォーム上の全フィールド)"

挿入するフォームフィールドのカンマ区切りリストです。指定しない場合は、フォーム内のすべてのフィールドが対象となります。

フォームフィールドがデータベース内の列名と一致しない場合は、エラーが発生します。

データベーステーブルのキーフィールドがフォームに存在している必要があります。キーフィールドは非表示になっている場合があります。