Just a little modification to Patrick's suggestion and I assume it will work
fields = structNew(); fields['county'] = 2; getParticipantGateway().getByFields( argumentsCollection=fields); Thanks Qasim On 9/25/07, Porter, Benjamin L. <[EMAIL PROTECTED]> wrote: > > I believe it is expecting structure not a comma delimited list. > > Change this > > >> <cfloop collection="#arguments#" item="key"> > >> <cfif StructKeyExists(arguments,key)> > >> <cfset > >> fieldlist=ListAppend(fieldlist,"#key#=#arguments[key]#")> > >> </cfif> > >> </cfloop> > <cfreturn getParticipantGateway().getByFields(#fieldlist#) /> > > > To > > > <cfloop collection="#arguments#" item="key"> > <cfif StructKeyExists(arguments,key)> > <cfset fieldList[key] = arguments[key] /> > </cfif> > </cfloop> > > > <cfreturn getParticipantGateway().getByFields(fieldlist) /> > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > On Behalf Of Byron Raines > Sent: Tuesday, September 25, 2007 3:34 PM > To: [email protected] > Subject: Re: [Reactor for CF] Passing parameters to getByFields > > Patrick, > > Thanks. Think it does the same thing. > > > Oops! > > *Message* Invalid data {CountyID={2}} for CFSQLTYPE CF_SQL_CHAR. > *Detail* > *Extended Info* > *Tag Context* C:\ColdFusion8\wwwroot\Reactor\base\abstractGateway.cfc > (92) > > > byron > > Patrick McElhaney wrote: > > Try this: > > > > fields = structNew(); > > fields['county'] = 2; > > getParticipantGateway().getByFields(fields); > > > > I think ColdFusion is taking getByFields(#fieldlist#) and reducing it > > to getByFields(fieldlist) which ends up as getByFields("County=2"). > > > > > > Patrick > > > > > > On 9/25/07, Byron Raines <[EMAIL PROTECTED]> wrote: > > > >> I have a weird problem. I'm using the getByFields() method on a > gateway. > >> > >> getParticipantGateway().getByFields(County=2) > >> > >> I get back the expected results. However, I am constructing the > >> parameter programatically, so I have: > >> > >> getParticipantGateway().getByFields(#fieldlist#) where fieldlist is > >> "County=2". > >> > >> When I run it I get the following error: > >> > >> > >> Oops! > >> > >> *Message* The cause of this output exception was that: > >> coldfusion.tagext.sql.QueryParamTag$InvalidDataException: Invalid > data > >> value CountyID=2 exceeds maxlength setting 5.. > >> *Detail* > >> *Extended Info* > >> *Tag Context* > >> > C:\ColdFusion8\wwwroot\Reactor\project\HopeWorks\Queries\mssql_4289702D0 > 613A72FF692C035734D311D.cfm > >> (1) > >> > >> > >> > >> Further inspection of the query file reveals the following: > >> > >> SELECT [tblParticipant].[Pt_ID] AS [Pt_ID], > [tblParticipant].[Phase] > >> AS [Phase], [tblParticipant].[CountyID] AS [CountyID], > >> [tblParticipant].[Firstname] AS [Firstname], > >> [tblParticipant].[Lastname] AS [Lastname], > [tblParticipant].[Address] > >> AS [Address], [tblParticipant].[City] AS [City], > >> [tblParticipant].[State] AS [State], [tblParticipant].[ZipCode] AS > >> [ZipCode], [tblParticipant].[Phone] AS [Phone], > >> [tblParticipant].[CircleLeaderID] AS [CircleLeaderID], > >> [tblParticipant].[ConsentDate] AS [ConsentDate], > >> [tblParticipant].[CircleLeader] AS [CircleLeader], > >> [tblParticipant].[CC_ID] AS [CC_ID], [tblParticipant].[GroupID] AS > >> [GroupID], [tblParticipant].[Status] AS [Status], > >> [tblParticipant].[PARQ] AS [PARQ], [tblParticipant].[MedicalForm] AS > >> [MedicalForm], [tblParticipant].[DateMedicalFormReturned] AS > >> [DateMedicalFormReturned], [tblParticipant].[FUSurveyDate] AS > >> [FUSurveyDate], [tblParticipant].[Cortisol] AS [Cortisol], > >> [tblParticipant].[Notes] AS [Notes] FROM [tblParticipant] AS > >> [tblParticipant] WHERE [tblParticipant].[Pt_ID] = <cfqueryparam > >> cfsqltype="cf_sql_char" maxlength="5" > >> value="#arguments.Query.getValue(1)#" /> > >> > >> Is there a way to dynamically construct the parameter to go in the > >> method. For example: I might dynamically create > "County=2,Group=1". > >> I'm trying to keep from having to have different functions for each > >> possible combination of filter variables. > >> > >> Here is the function I'm using: > >> > >> <cffunction name="getParticipants" access="public" > >> returntype="query" output="false"> > >> <cfargument name="CountyID" type="numeric" required="false" > /> > >> <cfargument name="GroupID" type="numeric" required="false" /> > >> <cfargument name="CircleLeaderID" type="string" > required="false" /> > >> > >> <cfset fieldlist = "" /> > >> > >> <cfloop collection="#arguments#" item="key"> > >> <cfif StructKeyExists(arguments,key)> > >> <cfset > >> fieldlist=ListAppend(fieldlist,"#key#=#arguments[key]#")> > >> </cfif> > >> </cfloop> > >> > >> <cfreturn getParticipantGateway().getByFields(#fieldlist#) /> > >> > >> </cffunction> > >> > >> Any help would be appreciated. > >> > >> Byron > >> > >> > >> > >> -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > -- -- -- -- > >> Reactor for ColdFusion Mailing List > >> [EMAIL PROTECTED] > >> Archives at: http://www.mail-archive.com/reactor%40doughughes.net/ > >> -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > -- -- -- -- > >> > >> > >> > > > > > > > > > -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > -- -- -- > Reactor for ColdFusion Mailing List > [EMAIL PROTECTED] > Archives at: http://www.mail-archive.com/reactor%40doughughes.net/ > -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > -- -- -- > > > **************************************************************************** > This email may contain material confidential to > Pearson. If you were not an intended recipient, > please notify the sender and delete all copies. > We may monitor email to and from our network. > > **************************************************************************** > > > -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > -- -- > Reactor for ColdFusion Mailing List > [EMAIL PROTECTED] > Archives at: http://www.mail-archive.com/reactor%40doughughes.net/ > -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > -- -- > > -- Qasim Rasheed Certified Advance ColdFusion MX Developer (IM qasimrasheed AT yahoo, msn or GTalk) -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Reactor for ColdFusion Mailing List [EMAIL PROTECTED] Archives at: http://www.mail-archive.com/reactor%40doughughes.net/ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
