
DB Abstraction Class
By: a guest on Oct 9th, 2008 | syntax:
ColdFusion | size: 1.46 KB | hits: 218 | expires: Never
<cffunction name="runmethod" access="public" output="true" returntype="Any">
<cfargument name="MyAction" type="String" required="false" default="update" />
<cfargument name="MyTable" type="String" required="true" />
<cfargument name="MyStruct" type="struct" required="true" />
<cfargument name="MyPK" type="any" required="false" default="0" />
<cfset var mystring = "" />
<cfset var myBeanObj = "" />
<cfset var MyServiceObj = "" />
<cfset var MygatewayObj = "" />
<cfif arguments.MyAction EQ "delete" OR arguments.MyAction EQ "Upsert">
<cfset myBeanObj = application[arguments.myTable].init(argumentCollection = arguments.MyStruct) />
</cfif>
<cfif arguments.MyAction EQ "delete" OR arguments.MyAction EQ "Upsert">
<cfset MyServiceObj = application[arguments.myTable & "Service"]>
</cfif>
<cfif arguments.MyAction EQ "Select">
<cfset MygatewayObj = application["#arguments.MyTable#Gateway"]>
</cfif>
<cfif arguments.MyAction EQ "delete">
<cfset mystring = "MyServiceObj.delete#arguments.MyTable#(#arguments.MyPK# = myBeanObj.get#arguments.MyPK#())" />
<cfelseif arguments.MyAction EQ "Select">
<cfset mystring = "MygatewayObj.getByAttributesQuery(argumentCollection = arguments.MyStruct)" />
<cfelseif arguments.MyAction EQ "Upsert">
<cfset mystring = "MyServiceObj.save#arguments.MyTable#(myBeanObj)" />
<cfelse>
<cfset mystring = "1+1" />
</cfif>
<cfreturn evaluate(mystring) />
</cffunction>