Guest
Public paste!

DB Abstraction Class

By: a guest | Oct 9th, 2008 | Syntax: ColdFusion | Size: 1.46 KB | Hits: 215 | Expires: Never
Copy text to clipboard
  1.         <cffunction name="runmethod" access="public" output="true" returntype="Any">
  2.                 <cfargument name="MyAction" type="String" required="false"  default="update" />
  3.                 <cfargument name="MyTable" type="String" required="true" />
  4.                 <cfargument name="MyStruct" type="struct" required="true" />
  5.                 <cfargument name="MyPK" type="any" required="false" default="0" />
  6.                 <cfset var mystring = "" />
  7.                 <cfset var myBeanObj = "" />
  8.                 <cfset var MyServiceObj = "" />
  9.                 <cfset var MygatewayObj = "" />
  10.  
  11.                 <cfif arguments.MyAction EQ "delete" OR arguments.MyAction EQ "Upsert">
  12.                         <cfset myBeanObj =  application[arguments.myTable].init(argumentCollection = arguments.MyStruct)  />
  13.                 </cfif>
  14.                 <cfif arguments.MyAction EQ "delete" OR arguments.MyAction EQ "Upsert">
  15.                         <cfset MyServiceObj = application[arguments.myTable & "Service"]>
  16.                 </cfif>
  17.                 <cfif arguments.MyAction EQ "Select">
  18.                         <cfset MygatewayObj = application["#arguments.MyTable#Gateway"]>
  19.                 </cfif>
  20.  
  21.                 <cfif arguments.MyAction EQ "delete">
  22.                         <cfset mystring = "MyServiceObj.delete#arguments.MyTable#(#arguments.MyPK#  = myBeanObj.get#arguments.MyPK#())" />
  23.                 <cfelseif arguments.MyAction EQ "Select">
  24.                         <cfset mystring = "MygatewayObj.getByAttributesQuery(argumentCollection = arguments.MyStruct)" />
  25.                 <cfelseif arguments.MyAction EQ "Upsert">
  26.                         <cfset mystring = "MyServiceObj.save#arguments.MyTable#(myBeanObj)" />
  27.                 <cfelse>
  28.                         <cfset mystring = "1+1" />
  29.                 </cfif>
  30.                  <cfreturn  evaluate(mystring)  />
  31.         </cffunction>