I am running CF 7 mx hotfix 3. We are using a flash form with a cfgrid on it.
After submit goes to the "action page" where I call a cfc that is stored in the
server scope.
The cfc runs fine without any errors. But it does not update the database or
insert new data. The datasource is right and the tables exists. If I copy the
sql statments below and use enterprise manager they work fine. But cf does not
update/insert the database.
Any suggestions?
Here is the cfc code:
<cffunction name="UpdateGridData" access="public" returntype="any"
displayname="Inserts/Update/Delete data into a table from cfgrid (insert only
not update)" hint="This will insert/update/delete data from a from cfgrid; pass
it ColumnNameList,GridName, DSN and TableName" output="true">
<cfargument name="TableName" type="string" required="true">
<cfargument name="DSN" type="string" required="true">
<cfargument name="ColumnNameList" type="string" required="true">
<cfargument name="GridName" type="string" required="true">
<cfargument name="PKColumnName" required="no" type="string" default="">
<cfset var Counter = 0>
<cfset var Counter2 = 0>
<cfset var Size= 0>
<cfset var InsertTemp = 1>
<cfset var DeleteData = "">
<cfset var InsertData = "">
<cfset var UpdateData = "">
<cfset var ColumnName = "">
<cfset Size = ArrayLen(form[Arguments.GridName & ".rowstatus.action"])>
<cfloop index="Counter" from="1" to="#Size#">
<cfset Counter2= 0>
<cfif form[Arguments.GridName & ".rowStatus.Action"][counter] EQ "D">
<cfquery name="DeleteData" datasource="#Arguments.DSN#">
DELETE
FROM #Arguments.TableName#
WHERE #Arguments.PKColumnName# = #form[Arguments.GridName & ".original." &
Arguments.PKColumnName][counter]#
</cfquery>
<cfelseIf form[arguments.GridName & ".rowStatus.Action"][counter] EQ "U">
<cfquery name="UpdateData" datasource="#Arguments.DSN#">
update #Arguments.TableName#
set <cfloop index="ColumnName" list="#Arguments.ColumnNameList#"><cfset
Counter2 = Counter2 + 1>#ColumnName#='#form[Arguments.GridName & "." &
ColumnName][Counter]#'<cfif Counter2 LT ListLen(Arguments.ColumnNameList)>,
</cfif></cfloop>
where #Arguments.PKColumnName#=#form[Arguments.GridName & ".original."&
Arguments.PKColumnName][counter]#
</cfquery>
<cfelseIf form[arguments.GridName & ".rowStatus.Action"][counter] EQ "I">
<cfquery name="InsertData" datasource="#Arguments.DSN#">
Insert Into #Arguments.TableName#
(#Arguments.ColumnNameList#)
Values
(<cfloop index="ColumnName" list="#Arguments.ColumnNameList#"><cfset
Counter2 = Counter2 + 1>'#form[Arguments.GridName & "." &
ColumnName][Counter]#'<cfif Counter2 LT ListLen(Arguments.ColumnNameList)>,
</cfif></cfloop>)
</cfquery>
</cfif>
</cfloop>
<cfreturn InsertTemp>
</cffunction>
Using debug turned on i see the following returned back to me.
Total Time Avg Time Count Template
47 ms 47 ms 1 I:\Inetpub\wwwroot\PHAnet\it\Application.cfm
32 ms 32 ms 1 I:\Inetpub\wwwroot\PHAnet\it\qcc\EditForm_Action.cfm
16 ms 16 ms 1 CFC[ I:\Inetpub\wwwroot\MyComs\sqlDataBase.cfc |
UpdateGridData(DSN = pqc, ColumnNameList =
DetailPlanDate,DetailPlanTime,DetailPlanTask,DetailPlanPerson, PKColumnName =
DetailPlanID, GridName = DetailPlanGrid, TableName = tbl_DetailPlan) ] from
I:\Inetpub\wwwroot\MyComs\sqlDataBase.cfc
red = over 250 ms average execution time
--------------------------------------------------------------------------------
SQL Queries
InsertData (Datasource=pqc, Time=0ms, Records=0) in
I:\Inetpub\wwwroot\MyComs\sqlDataBase.cfc @ 10:33:20.020
Insert Into tbl_DetailPlan
(DetailPlanDate,DetailPlanTime,DetailPlanTask,DetailPlanPerson)
Values
('06/30/05', '12:00', 'test 2', 'david')
UpdateData (Datasource=pqc, Time=0ms,
Records=0) in I:\Inetpub\wwwroot\MyComs\sqlDataBase.cfc @ 10:33:20.020
update tbl_DetailPlan
set DetailPlanDate='06/25/05',
DetailPlanTime='12:00', DetailPlanTask='This is the first task that we need to
work on', DetailPlanPerson='Ed Welch'
where DetailPlanID=108
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Discover CFTicket - The leading ColdFusion Help Desk and Trouble
Ticket application
http://www.houseoffusion.com/banners/view.cfm?bannerid=48
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:216051
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe:
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54