Aha, Google is my friend..
when using cf_sql_decimal you must specify the scale parameter..
 scale="2" />
makes it all work.. now to go through and make sure everywhere else I'm
using the cf_sql_decimal I'm providing the scale parameter.





On Mon, Nov 12, 2012 at 11:28 AM, Greg Morphis <[email protected]> wrote:

> removing the cfqueryparam
> <cfqueryparam value="#arguments.payment.getamount_paid()#"
> CFSQLType="cf_sql_decimal" null="#not
> len(arguments.payment.getamount_paid())#" />,
> works..
> just having #arguments.payment.getamount_paid()#
> causes it to work fine.. 35.52 is saved as 35.52 in the database.
>
> Any ideas as to why this happens? I'm using CF9.0.1
>
>
> On Mon, Nov 12, 2012 at 11:11 AM, Greg Morphis <[email protected]> wrote:
>
>> I tried decimal(19,2) and back to smallmoney and still 36.00 gets
>> inserted into the database table. And changed the type in the cfc to
>> cf_sql_decimal.
>>
>>
>> On Mon, Nov 12, 2012 at 10:56 AM, Greg Morphis <[email protected]>wrote:
>>
>>> Something is baffling me.. I'm inserting a value into the database and
>>> it's rounding the number. I don't know where or why this is happening!
>>>
>>> On the action page this is what the code looks like when inserting....
>>>
>>>                             INSERT INTO mytable
>>>                                     (
>>>                                     af_id,
>>>                                     amount_paid,
>>>                                     is_cleared,
>>>                                     payment_method_id,
>>>                                     action_date,
>>>                                     year_paid_for,
>>>                                     notes,
>>>                                     actionuser
>>>                                     )
>>>                             VALUES
>>>                                     (
>>>                                     ?,
>>>                                     ?,
>>>                                     ?,
>>>                                     ?,
>>>                                     ?,
>>>                                     ?,
>>>                                     ?,
>>>                                     ?
>>>                                     )
>>>                     
>>>
>>> Query Parameter Value(s) -
>>> Parameter #1(cf_sql_integer) = 194
>>> *Parameter #2(cf_sql_numeric) = 35.52*
>>> Parameter #3(cf_sql_integer) = 1
>>> Parameter #4(cf_sql_integer) = 1
>>> Parameter #5(cf_sql_timestamp) = 2012-11-12 10:51:54.375
>>> Parameter #6(cf_sql_integer) = 2012
>>> Parameter #7(cf_sql_varchar) =
>>> Parameter #8(cf_sql_numeric) = 12985
>>>
>>>
>>>
>>> When I query the database I see 36.00
>>> The table column use to be smallmoney, now it's numeric(19,2)..
>>> Does anyone know why this might be happening? And more importantly, how
>>> to fix it!?
>>>
>>>
>>>
>>
>


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:353131
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to