2017-07-27 10 views
2

Im nouveau à coldfusion et tsql, donc si c'est une erreur stupide, je suis désolé de perdre votre temps. J'ai cherché "troncature décimale, tsql, fusion froide". Et l'un de ceux en combinaison.décimal se tronqué en tsql

J'ai un formulaire qui soumet une décimale, mais le DB enregistre les données sous la forme d'un nombre entier. Signification, la forme a la valeur de 2,2, les magasins DB 2.

Les spécifications de la colonne par mon éditeur de DB:

COLUMN_NAME  DATA_TYPE DATA_PRECISION DATA_SCALE NULLABLE DATA_DEFAULT 
promofactor  decimal   15    5   NO  ((0))       

Le formulaire HTML:

<input type="number" name="promoFactor" class="form-control" id="promoFactor" placeholder="Must be a number" required step="0.0001">

La fusion froide requête:

DECLARE @promofactor decimal(15,5) = <cfqueryparam cfsqltype="cf_sql_decimal" value="#form.promoFactor#"/> 

Répondre

6

pour cf_sql_decimal cfsqltypes, vous avez e pour fournir l'attribut scale à cfqueryparam.

Si vous voulez 5 décimales:

<cfqueryparam type="cf_sql_decimal" value="#form.promofactor#" scale="5" /> 

docs: https://cfdocs.org/cfqueryparam

+0

MERCI! Y a-t-il d'autres types 'cfqueryparam' qui acceptent quelque chose comme ça? – davidhartman00

+0

@ davidhartman00 'cf_sql_numeric' accepte également l'échelle. D'autres attributs utiles sont dans les documents liés dans la réponse. 'list =" true "' est pratique lorsque vous faites quelque chose qui nécessite une instruction IN(). – beloitdavisja