On a side note: Have you thought about using cfstroredproc instead? On Wed, Apr 7, 2010 at 6:34 PM, Matthew Smith <[email protected]> wrote:
> > <cffunction access="public" name="qry_cart_check_item_quantities" > output="no" returntype="query" hint="Verifies that items in user's cart are > still available."> > <cfargument name="cf_user_id" type="string" required="no" default=""> > <cfargument name="app_user_id" type="numeric" required="no" default="0"> > <cfif not len(arguments.cf_user_id) and arguments.app_user_id eq 0> > <cfabort showerror="qry_cart_check_item_quantities: you must pass either > arguments.cf_user_id or arguments.app_user_id"> > </cfif> > <!--- <cfdump var="#arguments.cf_user_id#"> > <cfdump var="#arguments.app_user_id#"><cfabort> ---> > <cfquery > name="qry_cart_check_item_quantities" > datasource="#request.dataSource#"> > exec [proc_rhkprod_cart_check_item_quantities] > <cfif len(arguments.cf_user_id)> > @cf_user_id = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" > value="#arguments.cf_user_id#"> > <cfelse> > @cf_user_id = <cfqueryparam value="#arguments.cf_user_id#" > cfsqltype="CF_SQL_VARCHAR" null="yes"> > </cfif> > , > <cfif arguments.app_user_id neq 0> > @app_user_id = <cfqueryparam cfsqltype="CF_SQL_INTEGER" > value="#arguments.app_user_id#"> > <cfelse> > @app_user_id = <cfqueryparam value="#arguments.app_user_id#" > cfsqltype="CF_SQL_INTEGER" null="yes"> > </cfif> > </cfquery> > <cfreturn qry_cart_check_item_quantities> > </cffunction> > > On Wed, Apr 7, 2010 at 4:27 PM, Judah McAuley <[email protected]> > wrote: > > > > > It looks to me like your CF app is sending in 1506_18149772 as > > app_user_id somewhere. Are you using cfstoredproc and > > cfstoredprocparam or are you doing this via cfquery? > > > > Judah > > > > On Wed, Apr 7, 2010 at 1:20 PM, Matthew Smith <[email protected]> > > wrote: > > > > > > That is running it in MS. > > > > > > Here is the beginning of the proc. The rest of the vars are internal, > > not > > > passed in: > > > > > > ALTER PROCEDURE [dbo].[proc_rhkprod_cart_check_item_quantities] > > > @cf_user_id varchar(1000) = null > > > ,@app_user_id int = null > > > WITH > > > EXECUTE AS CALLER > > > AS > > > BEGIN > > > SET NOCOUNT ON; > > > > > > DECLARE @tablePK INT > > > ,@tblProductsFK INT > > > ,@cartQuantity INT > > > ,@UorLorUL varchar(2) > > > ,@quantity INT > > > ,@release BIT > > > ,@itemNotFound BIT > > > ,@removeFlag BIT > > > ,@updateFlag BIT > > > > > > On Wed, Apr 7, 2010 at 1:43 PM, Medic <[email protected]> wrote: > > > > > >> > > >> And have you tried running this in management studio and filling in > the > > var > > >> values? > > >> > > >> > > >> > > >> On Wed, Apr 7, 2010 at 3:39 PM, Medic <[email protected]> wrote: > > >> > > >> > What about all the rest of the vars? > > >> > > > >> > > > >> > > > >> > > > >> > On Wed, Apr 7, 2010 at 3:28 PM, Matthew Smith < > [email protected] > > >> >wrote: > > >> > > > >> >> > > >> >> exec [proc_rhkprod_cart_check_item_quantities] @cf_user_id = > > >> >> '1506_18149772'; > > >> >> > > >> >> On Wed, Apr 7, 2010 at 8:40 AM, Medic <[email protected]> wrote: > > >> >> > > >> >> > > > >> >> > Can you also post an example or two of exactly what data you > might > > be > > >> >> > passing into the sp? > > >> >> > Do you ever pass in zero length strings or nulls into the sp for > > both > > >> >> > values? > > >> >> > > > >> >> > On Wed, Apr 7, 2010 at 10:04 AM, Matthew Smith < > > [email protected] > > >> >> > >wrote: > > >> >> > > > >> >> > > > > >> >> > > Yes, I understand that. > > >> >> > > > > >> >> > > I'm just trying to understand why it is trying to cast it as an > > int. > > >> >> Is > > >> >> > it > > >> >> > > something that the COALESCE or NULLIF does automatically? Is > it > > >> >> looking > > >> >> > at > > >> >> > > the first argument and casting the second as the same datatype? > > I > > >> >> don't > > >> >> > > think it is becuase if I switch the two around I get the same > > error. > > >> >> > > > > >> >> > > > > >> >> > > On Wed, Apr 7, 2010 at 5:34 AM, Medic <[email protected]> > > wrote: > > >> >> > > > > >> >> > > > > > >> >> > > > You wouldn't be able to cast the cf_user_id as an int since > > it's > > >> got > > >> >> a > > >> >> > > > nasty > > >> >> > > > little underscore in it. Why not go the other route and cast > > >> >> > app_user_id > > >> >> > > as > > >> >> > > > a varchar since you're only looking to see if it's null. > > >> >> > > > > > >> >> > > > On Tue, Apr 6, 2010 at 10:28 PM, Matthew Smith < > > >> >> [email protected] > > >> >> > > > >wrote: > > >> >> > > > > > >> >> > > > > > > >> >> > > > > INSERT INTO rhkprod_tblCartAdjustments ( > > >> >> > > > > tblPeopleFK > > >> >> > > > > ,cfUserID > > >> >> > > > > ,tblProductsFK > > >> >> > > > > ,adjusted > > >> >> > > > > ,originalQuantity > > >> >> > > > > ,adjustedQuantity > > >> >> > > > > ) > > >> >> > > > > SELECT NULLIF(@app_user_id, '') > > >> >> > > > > ,NULLIF(@cf_user_id, '') > > >> >> > > > > ,@tblProductsFK > > >> >> > > > > ,1 > > >> >> > > > > ,@cartQuantity > > >> >> > > > > ,@quantity > > >> >> > > > > WHERE COALESCE(NULLIF(@app_user_id, ''), > > NULLIF(@cf_user_id, > > >> >> '')) > > >> >> > IS > > >> >> > > > NOT > > >> >> > > > > NULL > > >> >> > > > > > > >> >> > > > > I am getting: > > >> >> > > > > Error Executing Database Query. [Macromedia][SQLServer JDBC > > >> >> > > > > Driver][SQLServer]Conversion failed when converting the > > varchar > > >> >> value > > >> >> > > > > '1506_18149772' to data type int. > > >> >> > > > > > > >> >> > > > > If I comment out the following: > > >> >> > > > > > > >> >> > > > > WHERE COALESCE(NULLIF(@app_user_id, ''), > > NULLIF(@cf_user_id, > > >> >> '')) > > >> >> > IS > > >> >> > > > NOT > > >> >> > > > > NULL > > >> >> > > > > > > >> >> > > > > It works. > > >> >> > > > > > > >> >> > > > > @app_user_id is an int, @cf_user_id is a varchar. Is there > > some > > >> >> sort > > >> >> > > of > > >> >> > > > > conversion going on? Can I cast or convert the @cf_user_id > > to > > >> an > > >> >> int > > >> >> > > > > somehow? I don't need the value, just need to know that it > > is > > >> not > > >> >> > > null. > > >> >> > > > > > > >> >> > > > > > > >> >> > > > > > > >> >> > > > > > >> >> > > > > > >> >> > > > > >> >> > > > > >> >> > > > >> >> > > > >> >> > > >> >> > > >> > > >> > > > > > > > > > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Want to reach the ColdFusion community with something they want? Let them know on the House of Fusion mailing lists Archive: http://www.houseoffusion.com/groups/cf-community/message.cfm/messageid:315248 Subscription: http://www.houseoffusion.com/groups/cf-community/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-community/unsubscribe.cfm
