【发布时间】:2011-11-21 14:58:57
【问题描述】:
我正在使用 ColdFusion 9.0.1 和 SQL Server 2005。
我的数据库中的列名为 Points。设置为 numeric(6,1)。
当我在 SQL Server Management Studio 中编写查询以输入 1.2 或 5.5 等值时,数字会正确存储。当我降到 1.23 时,它四舍五入到 1.2。当我下降到 5.55 时,它会四舍五入到 5.6。这正是我所期望的。
UPDATE TableName
SET Points = 1.2
当我将我的值传递给 CFC 并且不使用 CFQUERYPARAM 时,我会得到如上所述的确切结果。
当我将我的值传递给使用 CFQUERYPARAM 的 CFC 时,我没有得到我期望的结果。当我输入 1.2 或 5.5 之类的数字时,该值会四舍五入为 1.0 或 6.0。
UPDATE TableName
SET Points = <cfqueryparam type="CF_SQL_DECIMAL" value="#Points#">
我已将 CFSQLTYPE 更改为 CF_SQL_NUMERIC 和 CF_SQL_DECIMAL。尽管如此,我还是无法正确保存数字。
当我在我的 CFC 中运行以下查询时,该数字被存储为 1.0。
UPDATE TableName
SET Points = <cfqueryparam type="CF_SQL_DECIMAL" value="1.23">
你能帮我弄清楚为什么这不符合我的预期吗?
【问题讨论】:
标签: sql-server coldfusion