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_4289702D0613A72FF692C035734D311D.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/
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

Reply via email to