Here is a dynamic query:

<CFSET FIRSTREC=0>
<CFSET SQL="SELECT ">
<CFLOOP QUERY="GetHeaders">
<CFIF FindNoCase(FIELDNAME1, Form.Display, 1) NEQ 0 OR OPTIONAL IS 0>
<CFIF FIRSTREC IS 1>
<CFSET SQL=SQL & ", ">
</CFIF>
<CFSET SQL=SQL & FIELDNAME1>
</CFIF>
<CFSET FIRSTREC=1>
</CFLOOP>
<CFSET SQL=SQL & " FROM PI.PI WHERE #CLIENT.CATEGORY# ">
<CFIF GetCatType.FIELDTYPE1 IS "CHAR" AND GetCatType.PARTIALKEY IS 1>
     <CFSET SQL=SQL & "LIKE '%" & Ucase(Trim(CLIENT.CATVAL1)) & "%'">
<CFELSEIF GetCatType.FIELDTYPE1 IS "CHAR" AND GetCatType.PARTIALKEY IS 0>
     <CFSET SQL=SQL & "= '" & Ucase(Trim(CLIENT.CATVAL1)) & "'">
<CFELSEIF GetCatType.FIELDTYPE1 IS "NUM">
     <CFSET SQL=SQL & "= " & Trim(CLIENT.CATVAL1)>
</CFIF>

If I print the variable, this is what I get:

SELECT APPLYTO, ACCT, SERV, SERVNAME, BMVOL, BMREV, BMPRICE, UATVOL, UATREV, UATPRICE, 
(UATVOL - BMVOL) AS "NETVOL", (UATVOL - BMVOL)/BMVOL AS
"PERVARVOL", (UATREV - BMREV) AS "NETREV", (UATREV - BMREV)/BMREV AS "PERVARREV", 
(UATPRICE - BMPRICE) AS "NETPRICE", (UATPRICE - BMPRICE)/BMPRICE AS
"PERVARPRICE" FROM PI.PI WHERE MAINACCTNAME LIKE '%BILL BLASS%'

which is great. However, here is what Oracle interprets this as:

Oracle Error Code = 911

ORA-00911: invalid character

SQL = "SELECT APPLYTO, ACCT, SERV, SERVNAME, BMVOL, BMREV, BMPRICE, UATVOL, UATREV, 
UATPRICE, (UATVOL - BMVOL) AS "NETVOL", (UATVOL - BMVOL)/BMVOL AS
"PERVARVOL", (UATREV - BMREV) AS "NETREV", (UATREV - BMREV)/BMREV AS "PERVARREV", 
(UATPRICE - BMPRICE) AS "NETPRICE", (UATPRICE - BMPRICE)/BMPRICE AS
"PERVARPRICE" FROM PI.PI WHERE MAINACCTNAME LIKE ''%BILL BLASS%''"

Basically, it is turning the single quotes around the LIKE '%Var%' into double quotes.

Any suggestions?

Gina Shillitani


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm

Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to