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

Reply via email to