Updates records in a data source from data in a ColdFusion form or form Scope.
Database manipulation tags
<cfupdate
dataSource = "ds_name"
tableName = "table_name"
formFields = "field_names"
password = "password"
tableOwner = "name"
tableQualifier = "qualifier"
username = "username">
attributeCollection attribute
whose value is a structure. Specify the structure name in the attributeCollection attribute
and use the tag’s attribute names as structure keys.cfinsert, cfprocparam, cfprocresult, cfquery, cfqueryparam, cfstoredproc, cftransaction; Creating
an update action page with cfupdate in the Developing ColdFusion Applications.
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.
Attribute |
Req/Opt |
Default |
Description |
|---|---|---|---|
|
Required |
Name of the data source that contains the table. |
|
|
Required |
Name of table to update.
|
|
|
Optional |
(all on form,
except |
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 list must include the database table primary key field, which must be present in the form. It can be hidden. |
|
Optional |
Overrides the |
|
|
Optional |
For data sources that support table ownership (for example, SQL Server, Oracle, Sybase SQL Anywhere), the table owner. |
|
|
Optional |
For data sources that support table qualifiers. The purpose of table qualifiers is as follows:
|
|
|
Optional |
Overrides |
<!--- This example lets you 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>
cfupdate tag
internally uses parameterized queries.