User Guide

Table Of Contents
Updating data 485
Reviewing the code
The following table describes the code and its function:
Creating an update action page with cfquery
For more complicated updates, you can use a SQL UPDATE statement in a
cfquery tag instead
of a
cfupdate tag. The SQL UPDATE statement is more flexible for complicated updates.
The following procedure assumes that you have created the update_action.cfm page as described
in “Creating an update action page with cfupdate” on page 483.
To create an update page with cfquery:
1.
In update_action.cfm, replace the cfupdate tag with the following highlighted cfquery code:
<html>
<head>
<title>Update Employee</title>
</head>
<body>
<cfif not isdefined("Form.Contract")>
<cfset form.contract = "No">
<cfelse>
<cfset form.contract = "Yes">
</cfif>
<!--- cfquery requires date formatting when retrieving from
Access. Use the left function when setting StartDate to trim
the ".0" from the date when it first appears from the
Access database --->
<cfquery name="UpdateEmployee" datasource="cfdocexamples">
UPDATE Employee
SET FirstName = '#Form.Firstname#',
LastName = '#Form.LastName#',
Dept_ID = #Form.Dept_ID#,
StartDate = '#left(Form.StartDate,19)#',
Salary = #Form.Salary#
Code Description
<cfif not isdefined("Form.Contract")>
<cfset Form.contract = "No">
<cfelse>
<cfset form.contract = "Yes">
</cfif>
Sets the value of Form.Contract to No if it is not
defined, or to Yes if it is defined. If the Contractor
check box is unchecked, no value is passed to the
action page; however, the database field must have
some value.
<cfupdate datasource="cfdocexamples"
tablename="Employee">
Updates the record in the database that matches
the primary key on the form (Emp_ID). Updates all
fields in the record with names that match the
names of form controls.
<cfoutput>
You have updated the information for
#Form.FirstName# #Form.LastName#
in the employee database.
</cfoutput>
Informs the user that the change was made
successfully.