CFLib.org – Common Function Library Project

getGeneratedKey(resultStruct)

Last updated February 15, 2008
Download UDF

author

Todd Sharp Todd Sharp

Version: 1 | Requires: ColdFusion 8 | Library: DatabaseLib

 
Rated 2 time(s). Average Rating: 5.0

Description:
This UDF takes the result struct from cfquery and returns the proper generated key from that struct.

Return Values:
Returns a value.

Example:

<cfquery name="insertArtist" datasource="cfartgallery" result="r">
insert into artists
(firstName, lastName)
values(
'todd','sharp'
)
</cfquery>
<cfquery name="getArtists" datasource="cfartgallery">
select *
from artists
</cfquery>
<cfdump var="#getArtists#">
<cfoutput>#getGeneratedKey(r)#</cfoutput>

Parameters:

Name Description Required
resultStruct Structure. Yes

Full UDF Source:

<!---
Normalizes the various possible returned keys in the cfquery result struct.

@param resultStruct      Structure. (Required)
@return Returns a value.
@author Todd Sharp (todd@cfsilence.com)
@version 1, October 14, 2008
--->

<cffunction name="getGeneratedKey" hint="i normalize the key returned from cfquery" output="false">
    <cfargument name="resultStruct" hint="the result struct returned from cfquery" />
    <cfif structKeyExists(arguments.resultStruct, "IDENTITYCOL")>
        <cfreturn arguments.resultStruct.IDENTITYCOL />
    <cfelseif structKeyExists(arguments.resultStruct, "ROWID")>
        <cfreturn arguments.resultStruct.ROWID />
    <cfelseif structKeyExists(arguments.resultStruct, "SYB_IDENTITY")>
        <cfreturn arguments.resultStruct.SYB_IDENTITY />
    <cfelseif structKeyExists(arguments.resultStruct, "SERIAL_COL")>
        <cfreturn arguments.resultStruct.SERIAL_COL />    
    <cfelseif structKeyExists(arguments.resultStruct, "GENERATED_KEY")>
        <cfreturn arguments.resultStruct.GENERATED_KEY />
    <cfelse>
        <cfreturn />
    </cfif>
</cffunction>

Search CFLib.org


Latest Additions

Raymond Camden Raymond Camden added
romanToDecimal
3 day(s) ago

Joe Rinehart Joe Rinehart added
directoryCopy
4 day(s) ago

Marcos Placona Marcos Placona added
arrayGroupsOf
4 day(s) ago

Mosh Teitelbaum Mosh Teitelbaum added
formatListAsSeri...
25 day(s) ago

Top Rated

Nick Giovanni                                     UniqueValueList
Rated 5.0, 5 time(s)

James Sleeman                                     QuickSort
Rated 5.0, 3 time(s)

Bobby Hartsfield                                  randStr
Rated 5.0, 3 time(s)

Rob Brooks-Bilson                                 FolderSize
Rated 5.0, 3 time(s)

Created by Raymond Camden / Design by Justin Johnson