CFUPDATE  
Description

Updates records in a data source from data in a ColdFusion form or form Scope.

 
Category

Database manipulation tags

 
Syntax
<cfupdate 
   dataSource = "ds_name"
   tableName = "table_name"
   tableOwner = "name"
   tableQualifier = "qualifier"
   username = "username"
   password = "password"
   formFields = "field_names">
 
See also

cfinsert, cfprocparam, cfprocresult, cfquery, cfqueryparam, cfstoredproc, cftransaction; "Creating an update action page with cfupdate" in Chapter 21, "Updating Your Database," in ColdFusion MX Developer's Guide

 
History

ColdFusion MX: Deprecated the connectString, dbName, dbServer, dbtype, provider, and providerDSN attributes. They do not work, and might cause an error, in releases later than ColdFusion 5.

 
Example
<!--- This example allows you to update a person's telephone number in the 
employee table. --->
<cfif isDefined("form.phone")>
   <cfupdate datasource="cfdocexamples" tablename="Employees">
</cfif>

<cfquery name="empTable" datasource="cfdocexamples">
   select * from employees
</cfquery>

<!--- This code shows the contents of the employee table and allows you to 
choose a row for updating. --->
<table border="1">
<cfoutput query="empTable">
   <tr>
      <td>#firstName#</td>
      <td>#lastName#</td>
      <td>#phone#</td>
      <td><a href="cfupdate.cfm?id=#emp_id#">Edit</a></td>
   </tr>
</cfoutput>
</table>

<cfif isDefined("url.id")>
   <cfquery name="phoneQuery" datasource="cfdocexamples">
      select * from employees where emp_id=#url.id#
   </cfquery>
<!--- This code displays the row to edit for update. --->
   <cfoutput query="phoneQuery">
      <form action="cfupdate.cfm" method="post">
      #phoneQuery.firstName# #phoneQuery.lastName# 
      <input name="phone" type="text" value="#phone#" size="12"> 
      <input type="submit" value="Update">
      <input name="emp_id" type="hidden" value="#emp_id#">
      <!--- The emp_id is passed as a hidden field to be used as a primary key in    
the CFUPDATE. --->
      </form>
   </cfoutput>
</cfif>
DATASOURCE  
  Required
 

Name of the data source that contains the table.

TABLENAME  
  Required
 

Name of table to update.

  • For ORACLE drivers, must be uppercase.
  • For Sybase driver, case-sensitive; must be in same case as used when the table was created.
TABLEOWNER  
  Optional
 

For data sources that support table ownership (for example, SQL Server, Oracle, Sybase SQL Anywhere), the table owner.

TABLEQUALIFIER  
  Optional
 

For data sources that support table qualifiers. The purpose of table qualifiers is as follows:

  • SQL Server and Oracle: name of the database that contains the table
  • Intersolv dBASE driver: directory of DBF files
USERNAME  
  Optional
 

Overrides username value specified in ODBC setup.

PASSWORD  
  Optional
 

Overrides the password value specified in ODBC setup.

FORMFIELDS  
  Optional
 
Default value: "(all on form, except keys)"

Comma-delimited list of form fields to update.

If a form field is not matched by a column name in the database, ColdFusion throws an error.

The formFields lies must include the database table primary key field, which must be present in the form. It can be hidden.