【发布时间】:2010-01-30 02:54:01
【问题描述】:
像45,234 这样的表单字段值将作为45234 插入到数据库中。当我尝试为45,234 插入时,它进入数据库的所有内容都是0。注意:- 我可以在SQL DB 中插入45.234as 45.234。
表单字段名为costOfShares,将插入到表ShareVales (SQL Server 2005) 中。我正在使用 CF8。
SQL
table:-ShareVales; field:-costOfShares; DataType:-float
ColdFusion(表单页面)
<li>
<cfinput size="8" maxlength="20" name="costOfShares"
id="costOfShares" value="#share.GetcostOfShares()#">
</li>
Share.cfc:-
<cfcomponent>
<cfscript> Variables.CostOfShare </cfscript>
<cffunction name="GetCostOfShare" returntype="numeric" access="public" output="false">
<cfscript> variables.CostOfShare; </cfscript>
</cffunction>
<cffunction name="SetCostOfShare" retuntype="void" access="public" output="false">
<cfargument name="costOfShare" type="string" required="true">
<cfscript> variables. costOfShare = arguments. costOfShare; </cfscript>
</cffunction>
</cfcomponent>
ColdFusion(查询页面)
<cffunction>
<cfargumnet>
<cfquery …>
INSERT INTO ShareVales(shareUnitId, costOfShares)
VALUES (
<cfqueryparam cfsqltype="cf_sql_integer"
value="#arguments.share.GetshareUnitId()#">,
<cfqueryparam cfsqltype="cf_sql_float"
value="#arguments.share.GetcostOfShares()#">);
</cfquery>
</cffunction>
当我在查询编辑器中直接使用以下内容时:
INSERT into share(setCostOfShare)
values(Cast(replace('5,322,444',',','') as float))
成功了。在 ColdFusion 模板中使用 cfquery/cfqueryparam 时出错。
那么,当表单字段costOfShares包含逗号值时,如何插入45234?
【问题讨论】:
标签: sql coldfusion