2017-08-31 5 views
2

J'ai peu de champs de formulaire où l'utilisateur peut entrer whole numéros, decimal numéros et les deux types peuvent être positifs ou négatifs. En d'autres termes, ils peuvent entrer dans quelque chose comme ceci:ColdFusion 9 définir le type décimal pour cfqueryparam?

1 or 0.9 or 5.6745 or -10 or -0.9 or -10.5435 

Je me demande ce que je devrais utiliser dans mon cfqueryparam sur cfsqltype? J'ai essayé décimal mais il semble que ce n'est pas pris en charge dans ColdFusion 9. Y at-il une autre option ou je devrais utiliser varchar?

Répondre

7

Utilisez l'option correspondant à la colonne de votre base de données. En sélectionnant la bonne valeur, Coldfusion va essayer de valider et formater la valeur avant qu'elle ne soit envoyée au pilote de la base de données.

Avec les types de précision fixe cf_sql_numeric et cf_sql_decimal, vous devez également spécifier l'échelle (nombre de décimales) acceptée par votre colonne. Par défaut, l'échelle est 0 et ne stocke qu'un nombre entier. Encore une fois, vérifiez votre base de données pour l'échelle.

Pour les types de non précision tels que cf_sql_float, aucune échelle ne doit être spécifiée et la valeur complète est envoyée à la base de données.

La liste complète des types de données peut être trouvée dans le Adobes docs.