Hello All,

I need some help. What I�m trying to do is setup a transaction that�s 
purpose is to move a record from table �A� to table �B� and if it is 
successful delete it from �A.� If anything fails roll back and output 
the error. Can anyone please offer some insight to either using 
different code or patching what I have below?

I'm running CF5 Enterprise.

Regards,
James Blaha

Error
Context validation error in tag CFTRY
The tag is not correctly positioned relative to other tags in the 
template: the last tag nested inside tag CFTRY must be a CFCATCH tag. 
Currently it is a CFTRANSACTION tag.
The error occurred while processing an element with a general identifier 
of (CFTRY), occupying document position (25:1) to (25:7).


<!---
Filename: Example_Delete_CFTransaction.cfm
Created by: James Blaha
Purpose: Archive data & Roll Back for deletetion if an errors occur.
Please Note:
--->

<!---__________ ** This example shows the use of cftransaction ** 
________--->

<html>
<head>
<title>cftransaction Example</title>
</head>

<body>
<H3>Archive data and Roll Back for deletetion if an errors occur.</H3>

<P>cftransaction can be used to group multiple queries
using cfquery into a single business event. Changes to data
requested by these queries can be committed on the basis
of the success or failure of the query by using the actions
commit and rollback, respectively.


<cftry>


<!--- ****************************************************************** 
--->
<!--- *************** Initialize commitIt to Yes. ******************** --->
<!--- ****************************************************************** 
--->

<CFSET commitIt = "Yes">
<cftransaction action = "begin">

<!--- ********* --->
<!--- *** 1 *** --->
<!--- ********* --->

<cfquery name = 'ArchiveRecord' dataSource = 'xxx'>

Insert Into Archived_Applicants
Select * From tApply
WHERE [identity] = 2

</cfquery>

<!--- 
*********************************************************************** --->
<!--- * Rolls back the pending insertion if a database exception is 
caught. * --->
<!--- 
*********************************************************************** --->

<cfcatch type = "DATABASE">
<cftransaction action = "rollback"/>
<cfset commitIt = "No">

<!--- Test S --->

<BODY TEXT="1c3b85">

<DIV ALIGN="Center">
<TABLE>
<TR>
<TD WIDTH="400">
<H2>A Database Error Has Occurred !</H2>

<CFOUTPUT> #CFCATCH.Message#
<P>The following exception has occurred, TYPE= #CFCATCH.Type#
</CFOUTPUT>
</TD>
</TR>
</TABLE>
</DIV>

<!--- Test E --->

</cfcatch>
<cfif commitIt>
<cftransaction action = "commit"/>

<!--- ****************************************************************** 
--->
<!--- *************** Commits the pending insertion. ***************** --->
<!--- ****************************************************************** 
--->
<cfelse>
<cfset commitIt = "Yes">
</cfif>


<!--- ********* --->
<!--- *** 2 *** --->
<!--- ********* --->


<CFQUERY NAME="DeleteRecord" DATASOURCE="xxx">
DELETE
FROM tApply

WHERE [identity] = 2
</CFQUERY>

<!--- 
********************************************************************** --->
<!--- * Rolls back the pending deletetion if database exception is 
caught. * --->
<!--- 
********************************************************************** --->

<cfcatch type = "DATABASE">
<cftransaction action = "rollback"/>
<cfset commitIt = "No">


<!--- Test S --->

<BODY TEXT="1c3b85">

<DIV ALIGN="Center">
<TABLE>
<TR>
<TD WIDTH="400">
<H2>A Database Error Has Occurred !</H2>

<CFOUTPUT> #CFCATCH.Message#
<P>The following exception has occurred, TYPE= #CFCATCH.Type#
</CFOUTPUT>
</TD>
</TR>
</TABLE>
</DIV>

<!--- Test E --->

</cfcatch>
<cfif commitIt>
<cftransaction action = "commit"/>

<!--- ****************************************************************** 
--->
<!--- *************** Commits the pending deletetion. 
******************* --->
<!--- ****************************************************************** 
--->

<cfelse>
<cfset commitIt = "Yes">
</cfif>
</cftransaction>


</cftry>

</body>
</html>


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4
Subscription: 
http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Get the mailserver that powers this list at http://www.coolfusion.com

                                Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
                                

Reply via email to