On 11/15/06, Walter Conti <[EMAIL PROTECTED]> wrote:
> Is there a function to convert a structure to a query?
> Thank You
ok i needed a break from what i was doing and felt like playing :)
<cfscript>
myStruct = structNew();
myStruct.empName = "bob Smith";
myStruct.empDept = "accounting";
myStruct.empPhone = "555-1212";
myStruct.empHireDate = createDate(2000, 5, 1);
</cfscript>
<cfdump var="#myStruct#" label="myStruct" />
<!--- doing it manually --->
<cfscript>
myQuery = queryNew(structKeyList(myStruct));
queryAddRow(myQuery, 1);
for (i in myStruct) {
querySetCell(myQuery, i, myStruct[i]);
}
</cfscript>
<cfdump var="#myQuery#" label="doing it manually">
<!--- a UDF using cfscript --->
<cfscript>
function struct2Query(struct) {
var i = "";
var myQuery = "";
if (NOT isStruct(arguments.struct)) return false;
myQuery = queryNew(structKeyList(arguments.struct));
queryAddRow(myQuery, 1);
for (i in arguments.struct) {
querySetCell(myQuery, i, arguments.struct[i]);
}
return myQuery;
}
</cfscript>
<cfdump var="#struct2Query(myStruct)#" label="a UDF with cfscript">
<!--- a UDF using <cffunction> --->
<cffunction name="struct2Query2" output="false" returntype="query">
<cfargument name="argStruct" type="struct" required="true" />
<cfset var key = "" />
<cfset var myQuery = queryNew(structKeyList(arguments.argStruct))
/>
<cfset queryAddRow(myQuery, 1) />
<cfloop collection="#argStruct#" item="key">
<cfset querySetCell(myQuery, key, arguments.argStruct[key]) />
</cfloop>
<cfreturn myQuery />
</cffunction>
<cfdump var="#struct2Query2(myStruct)#" label="using cffunction">
--
Charlie Griefer
================================================
"...All the world shall be your enemy, Prince with a Thousand Enemies,
and whenever they catch you, they will kill you. But first they must catch
you, digger, listener, runner, prince with a swift warning.
Be cunning and full of tricks and your people shall never be destroyed."
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting,
up-to-date ColdFusion information by your peers, delivered to your door four
times a year.
http://www.fusionauthority.com/quarterly
Archive:
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260561
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4